• 20150403--RBAC+首页登录-02


    五、权限管理的设置

    权限的crud操作。

    1、添加权限

    (1)添加一个权限的控制器,并添加一个add方法,并拷贝对应的静态页面,并修改静态页面里面样式图片路径。

    思考:表单里面提供的内容,哪些数据需要入库。修改表单

    wpsE92B.tmp

    (2)新建一个privilege模型,用于添加数据验证,并添加验证规则

    wpsEA74.tmp

    (3)完成权限的入库

    wpsEB7F.tmp

    (4)在父级权限位置,取出所有的权限,按照层次级别显示出来。

    wpsEBED.tmp

    打开privilege的模型,定义取出权限数据的方法,按照层次级别显示。

    wpsEC8A.tmp

    (5)在控制器里面的 add方法中取出数据,并在对应的静态页面中进行遍历

    wpsECAA.tmp

    wpsECCB.tmp

    2、权限列表

    在权限的控制器里面添加一个lst方法,并拷贝对应静态页面,修改样式和图片的路径,用户获取权限数据

    wpsED29.tmp

    把取出的数据遍历到静态页面,并添加删除和修改的连接

    wpsEDB7.tmp

    3、修改权限

    (1)在privilege控制器添加一个save方法,取出当前被修改的数据,并显示到对应静态页面,

    wpsEDD7.tmp

    wpsEE26.tmp

    (2)在执行修改权限时,要注意不能把自己的子权限当成自己的父权限。

    //在privilege模型中添加一个方法,用于取出子权限的id

    wpsEE76.tmp

    (3)根据id取出子权限的id,在静态页面遍历时,如果是自己的子权限或自己则不显示。

    wpsEF42.tmp

    wpsEF62.tmp

    wpsEFF0.tmp

    注意:把前面的save方法改成update,模板文件改为update.html,列表中的链接也改为update,共三个地方。

    (4)完成修改操作,在修改数据库时,也要验证父id是否是自己的子权限的id和自己的id,

    使用一个钩子函数,该钩子函数在模型里面定义,在完成修改时,会自动触发。

    6个钩子函数:

    _before_insert

    _after_insert

    _before_delete

    _after_delete

    _before_update

    _after_update

    wpsF000.tmp

    wpsF08E.tmp

    钩子函数的内容:

    wpsF225.tmp

    4、删除权限

  • 相关阅读:
    NgModelController: $setViewValue,$render,Formatter, Parser
    #!/usr/bin/env python与#!/usr/bin/python的区别
    post发送数据 mypost input 改变事件
    post发送 ArrayBuffer
    C# 字符串到字节数组,字节数组转整型
    C# WebKitBrowser 设置内容
    C# Tuple 创建一个新二元集合
    C# 时间对比
    C# 控件调整
    C# invoke和begininvoke的用法 __委托
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471857.html
Copyright © 2020-2023  润新知