目录
一、权限管理设置
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