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、删除权限

原文地址:https://www.cnblogs.com/lifushan/p/5471857.html