yii2.0 rbac权限学习笔记 [ 2.0 版本 ]
来源:互联网 发布:ubuntu游客创建新用户 编辑:程序博客网 时间:2024/06/11 05:33
为了自我学习和交流PHP(jQuery,Linux,lamp,shell,JavaScript,服务器)等一系列的知识,希望光临本博客的人可以进来交流。寻求共同发展。搭建平台。本人博客也有许多的技术文档,希望可以为你提供一些帮助。
QQ群: 191848169 点击链接加入群【PHP技术交流(总群)】
下面介绍一个 yii2.0 的 Rbac 权限设置,闲话少说,直接上代码,
1、首先我们要在 组件里面配置一下 Rbac ,如下所示(common/config/main-local.php或者main.php)。
'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'assignmentTable' => 'auth_assignment', 'itemChildTable' => 'auth_item_child',],
当然,在配置里面也可以设置 默认角色,只是我没写。Rbac 支持两种类,PhpManager 和 DbManager ,这里我使用 DbManager 。yii migrate --migrationPath=@yii/rbac/migrations/
运行此命令生成权限数据表
2、配置完毕, 下面我们尝试着创建一个 许可 Permiassion,代码如下
public function createPermission($item){ $auth = Yii::$app->authManager; $createPost = $auth->createPermission($item); $createPost->description = '创建了 ' . $item . ' 许可'; $auth->add($createPost);}
3、好的, 许可我们就创建完成了,下面我们创建一个 角色吧 roles
public function createRole($item){ $auth = Yii::$app->authManager; $role = $auth->createRole($item); $role->description = '创建了 ' . $item . ' 角色'; $auth->add($role);}
4、好的,就是这么简单,不要激动,下面更简单,给角色分配许可,上代码
static public function createEmpowerment($items){ $auth = Yii::$app->authManager; $parent = $auth->createRole($items['name']); $child = $auth->createPermission($items['description']); $auth->addChild($parent, $child);}
5、好的,分配许可也创建完成了,我操,太尼玛简单了,继续上代码,给角色分配用户
static public function assign($item){ $auth = Yii::$app->authManager; $reader = $auth->createRole($item['name']); $auth->assign($reader, $item['description']);}
6、好的好的,就是这么简单,我自己都他妈不敢相信啊,你相信吗??? 最后一步,验证用户是否有权限
public function beforeAction($action){ $action = Yii::$app->controller->action->id; if(\Yii::$app->user->can($action)){ return true; }else{ throw new \yii\web\UnauthorizedHttpException('对不起,您现在还没获此操作的权限'); }}
好了,一口气都他妈写完了,老爽了。当然,可以创建就一定可以修改和删除,修改和删除都是多表关联操作的, Yii也为我写好了方法,当然你也可以自己去写,都是小意思了。
数据库sql文件地址/vendor/yiisoft/yii2/rbac
来源:http://blog.sina.com.cn/s/blog_88a65c1b0101izml.html
- yii2.0 rbac权限学习笔记 [ 2.0 版本 ]
- yii2.0 rbac权限学习笔记
- yii2 rbac权限管理学习笔记
- YII2 学习笔记-- RBAC
- yii2.0 rbac权限控制
- YII2.0生成RBAC权限表
- yii2-rbac权限设置
- yii2学习笔记(十)rbac
- Yii2 framework学习笔记(六) -- RBAC
- Yii2 rbac权限控制详解
- yii2.0Rbac操作
- YII2.0框架(五) RBAC基于角色的权限控制源码透析yii\rbac\DbManager
- Yii2 rbac权限控制 详细说明
- Yii2-admin RBAC权限管理的实现
- Yii2-admin RBAC权限管理的实现
- Yii2-rbac权限基础--菜单menu管理
- yii2 rbac权限控制详细操作步骤
- Yii2-admin RBAC权限管理的实现
- src和href的区别
- java注解详解
- go实现路由表操作
- 安装MySql出现Access denied for user
- 【Python爬虫5】提取JS动态网页数据
- yii2.0 rbac权限学习笔记 [ 2.0 版本 ]
- xampp 80 端口被占用解决方法
- jQuery如何设置下拉框显示与隐藏
- android app 社交动态
- leetcode[494]:Target Sum
- 【Python爬虫6】表单交互
- 开源路由软件Quagga安装及使用
- null!="" 常用的字符串非空判断
- 电商网站架构