Yii的权限管理rbac

1.首先我们要在配置文件的组件(component)里面配置一下 Rbac

在对应项目下的config/main.php或者config/main-local.php下添加

'authManager' => [   
     'class' => 'yii\rbac\DbManager',    
     'itemTable' => 'auth_item',    
     'assignmentTable' => 'auth_assignment',    
     'itemChildTable' => 'auth_item_child',
],

 

2.生成rbac默认数据表

 a.运行下面的命令生成权限数据表:

yii migrate --migrationPath=@yii/rbac/migrations/

 b.也可以打开vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql 拷贝里面的内容到数据库运行生成数据表

 

3.权限分配有4张表

auth_rule:单独存放Rule,跟auth_item中的rule_name字段对应

auth_item:存放Role和Permission,以type字段区别,1为Role,2为Permission

auth_item_child:Role拥有的Permission,一个Role可以有多个Permission

auth_assignment:用户拥有的Role,一个用户可以有多个Role

 

官方: http://www.yiichina.com/doc/guide/2.0/security-authorization

 

http://www.yiichina.com/tutorial/433

http://www.manks.top/yii2_frame_rbac_template.html

http://www.yii-china.com/post/detail/32.html

http://www.yiichina.com/tutorial/869

posted @ 2017-11-10 18:09  程序生(Codey)  阅读(293)  评论(0编辑  收藏  举报