RBAC 看起来好高大上 有点不明觉厉   了解后发现 就是权限控制 

原来我早接触过类似的东西

SpeedPHP 中的spAcl功能,就是RBAC系统

流程大致如下:

  为用户建立用户组    建立权限列表    在吧权限列表(controller  , action)和用户组链接起来  访问每个页面时 比对是否有权限(以控制器 和 方法名比对)

  

YII的RBAC流程是这样的:

  auth_item表存储 角色(可以理解为用户组)、任务(任务理解为同个模块的多个操作的集合)、操作  (最小单位 不可再分割)

     更值得注意的是 角色、任务、操作都只定义一个名称(并不像Speedphp中的以网址中的控制器和方法名称)  最后以 硬编码输入权限名称的方式  Yii::app()->user->checkAccess('createPost')  判断是否有权限 。因为受之前思想的影响 在这块浪费许久时间

  auth_item_child  角色 任务 操作 之间的管理表 (以无限循环的方式)

  auth_assignment 用户与角色之间的关系

  auth_rule 规则 (你的分组里有这个权限 并且也要符合此规则 比如 只能编辑自己的文章  )  后期感受下 再补充

 

 posted on 2016-02-25 15:05  changs  阅读(230)  评论(0)    收藏  举报