Yii的权限管理rbac

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

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

1
2
3
4
5
6
'authManager' => [  
     'class' => 'yii\rbac\DbManager',   
     'itemTable' => 'auth_item',   
     'assignmentTable' => 'auth_assignment',   
     'itemChildTable' => 'auth_item_child',
],

 

2.生成rbac默认数据表

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

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

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

 

3.权限分配有4张表

1
2
3
4
5
6
7
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 @   程序生(Codey)  阅读(294)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示