您的位置:首页 > 其它

20150404--RBAC+管路员权限-01

2016-05-08 22:11 260 查看




目录 一、权限管理设置 1 1、删除权限 1 二、角色管理 2 1、添加角色, 2 2、角色列表 5 3、角色删除 6 三、管理员管理 6 2、管理员列表, 9 3、修改管理员 9 五、模型管理 12 六、栏目管理 13 七、内容管理 13

一、权限管理设置

1、删除权限

在删除权限时,如果有子权限则不能删除。在删除之前要判断一下是否有子权限。 (1)在模型中定义一个方法,用于验证是否子权限。

(2)在privilege控制器 里面添加一个delete的方法。用于删除权限

二、角色管理

1、添加角色,

在添加角色时,要给当前角色分配权限,就涉及到两张表, 一个是it_role表(字段:角色名称),一个表是it_role_privilege(角色的id和权限的id) (1)新建一个角色控制器,并添加add方法,并拷贝对应的模板页面,并修改样式图片的路径。



(2)添加一个js事件,当选择子权限的时候,则上级权限一块被选中。

(3)新建一个role模型,里面添加数据验证,

(4)在角色模型里面添加一个钩子函数_after_insert(),由该函数完成入库it_role_privilege表

(5)修改,添加角色的方法

2、角色列表

(1)新建一个lst方法,并拷贝对应的静态页面,并修改样式和图片的路径 要求:把角色的名称,角色对应权限的名称也给列出来。 思考:权限名称所在的表,角色名称所在的表,角色和权限的中间表 select from it_role a left join it_role_privilege b on a.id=b.role_id left join it_privilege c on c.id=b.pri_id

group_concat(字段名称)把查询到的字段,拼接成以逗号隔开的字符串。

在静态页面中进行遍历:

3、角色删除

要求: (1)在删除角色的时候,要清空it_role_privilege表里面的角色id对应权限id (2)如果有管理员属于该角色则不能删除该角色。 在角色的模型里面添加一个_after_delete($data,$options)方法。 要删除it_role_privile表里面角色对应权限的id

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: