易怀源

导航

php后台权限管理

今天新到一家公司,重新维护升级了之前的权限管理。

权限管理思路:
1.三张表(公司项目比较复杂,所以数据表远比这个复杂,这里只实现权限管理,简化一下)
action表------权限大菜单;
这个表没有实际意义,但是可以简化前端权限管理的样式,将同一个controller里面的具体操作可以放在一行显示,字段参考:
id,action_uri,action_name

do表------具体涉及的操作;
将所有要进行权限管理的操作放入此表,将会在前端页面权限管理里面分别显示,字段参考:
id,do_uri,do_name,action_id

privileges表------用户权限;
系统中存在的每一个用户都有一条对应的记录,字段参考:
id,user_id,privileges
privileges存储为字符串,用*表示高级权限用户具备所有权限,用@表示普通权限用户具备除高级权限的所有权限,
用do_uri拼接的字符串表示自定义权限用户具备字符串中存在的权限。

2.用一个单独的方法把高级权限放入数组返回;

3.用户操作请求过来,先获取用户相关信息,包括权限表里面的权限。
与操作来源匹配。
如果获取到的是*,拥有权限直接下一步具体操作;
如果获取到的是@,看操作来源是否存在与高级权限数组里,如果不存在有权限下一步具体操作,如果存在就不具备权限退出;
如果获取到的是uri字符串,就将字符串转化为数组,看操作来源是否存在与数组中,如果存在有权限下一步具体操作,如果存在就不具备权限退出;

4.后台用户权限管理就是对user表和do表修改privileges表。

posted on 2016-10-20 15:31  易怀源  阅读(627)  评论(0编辑  收藏  举报