zoukankan      html  css  js  c++  java
  • 20150404--RBAC+管路员权限-01

    image

    目录

    一、权限管理设置 1

    1、删除权限 1

    二、角色管理 2

    1、添加角色, 2

    2、角色列表 5

    3、角色删除 6

    三、管理员管理 6

    2、管理员列表, 9

    3、修改管理员 9

    五、模型管理 12

    六、栏目管理 13

    七、内容管理 13

    一、权限管理设置

    1、删除权限

    在删除权限时,如果有子权限则不能删除。在删除之前要判断一下是否有子权限。

    (1)在模型中定义一个方法,用于验证是否子权限。

    wps43B7.tmp

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

    wps4639.tmp

    二、角色管理

    1、添加角色,

    在添加角色时,要给当前角色分配权限,就涉及到两张表,

    一个是it_role表(字段:角色名称),一个表是it_role_privilege(角色的id和权限的id)

    (1)新建一个角色控制器,并添加add方法,并拷贝对应的模板页面,并修改样式图片的路径。

    wps4772.tmp

    wps4793.tmp

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

    wps4811.tmp

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

    wps4840.tmp

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

    wps48CE.tmp

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

    wps492D.tmp

    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

    wps494D.tmp

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

    wps495E.tmp

    在静态页面中进行遍历:

    wps4C3D.tmp

    3、角色删除

    要求:

    (1)在删除角色的时候,要清空it_role_privilege表里面的角色id对应权限id

    (2)如果有管理员属于该角色则不能删除该角色。

    在角色的模型里面添加一个_after_delete($data,$options)方法。

    要删除it_role_privile表里面角色对应权限的id

    wps4DC5.tmp

  • 相关阅读:
    java中排序算法
    maven常用命令
    Team_GJX模板整理
    BZOJ 4128
    BZOJ 1169: [Baltic2008]Grid
    Codeforces Round #448 (Div. 2)
    HDU 5942
    2016 ICPC 沈阳
    2016 ICPC 北京
    2016 CCPC 杭州
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471871.html
Copyright © 2011-2022 走看看