[moka同学笔记]八、Yii2.0课程笔记(魏曦老师教程)[授权]
数据库表创建
在执行yii rbac/init之前,需要在
\console\controllers\RbacController.php中
- <?php
- namespace console\controllers;
- use Yii;
- use yii\console\Controller;
- class RbacController extends Controller
- {
- public function actionInit()
- {
- $auth = Yii::$app->authManager;
- // 添加 "createPost" 权限
- $createPost = $auth->createPermission('createPost');
- $createPost->description = '新增文章';
- $auth->add($createPost);
- // 添加 "updatePost" 权限
- $updatePost = $auth->createPermission('updatePost');
- $updatePost->description = '修改文章';
- $auth->add($updatePost);
- // 添加 "deletePost" 权限
- $deletePost = $auth->createPermission('deletePost');
- $deletePost->description = '删除文章';
- $auth->add($deletePost);
- // 添加 "approveComment" 权限
- $approveComment = $auth->createPermission('approveComment');
- $approveComment->description = '审核评论';
- $auth->add($approveComment);
- // 添加 "postadmin" 角色并赋予 "updatePost" “deletePost” “createPost”
- $postAdmin = $auth->createRole('postAdmin');
- $postAdmin->description = '文章管理员';
- $auth->add($postAdmin);
- $auth->addChild($postAdmin, $updatePost);
- $auth->addChild($postAdmin, $createPost);
- $auth->addChild($postAdmin, $deletePost);
- // 添加 "postOperator" 角色并赋予 “deletePost”
- $postOperator = $auth->createRole('postOperator');
- $postOperator->description = '文章操作员';
- $auth->add($postOperator);
- $auth->addChild($postOperator, $deletePost);
- // 添加 "commentAuditor" 角色并赋予 “approveComment”
- $commentAuditor = $auth->createRole('commentAuditor');
- $commentAuditor->description = '评论审核员';
- $auth->add($commentAuditor);
- $auth->addChild($commentAuditor, $approveComment);
- // 添加 "admin" 角色并赋予所有其他角色拥有的权限
- $admin = $auth->createRole('admin');
- $commentAuditor->description = '系统管理员';
- $auth->add($admin);
- $auth->addChild($admin, $postAdmin);
- $auth->addChild($admin, $commentAuditor);
- // 为用户指派角色。其中 1 和 2 是由 IdentityInterface::getId() 返回的id (译者注:user表的id)
- // 通常在你的 User 模型中实现这个函数。
- $auth->assign($admin, 1);
- $auth->assign($postAdmin, 2);
- $auth->assign($postOperator, 3);
- $auth->assign($commentAuditor, 4);
- }
- }
[moka同学笔记]八、Yii2.0课程笔记(魏曦老师教程)[授权]的更多相关文章
- [moka同学笔记]三、Yii2.0课程笔记(魏曦老师教程)关联字段增加搜索
关联字段增加搜索 post表关联adminuser表,通过post.author_id adminuser.id关联,在YII2.0生成搜索,关联字段搜索时,需要输入关联字段author的id才能搜 ...
- [moka同学笔记]一、Yii2.0课程笔记(魏曦老师教程)
第一节 第二节 课程内容
- [moka同学笔记]七、Yii2.0课程笔记(魏曦老师教程)[新增管理员,重置密码]
- [moka同学笔记]六、Yii2.0课程笔记(魏曦老师教程)[徽章气泡]
- [moka同学笔记]五、Yii2.0课程笔记(魏曦老师教程)[审核功能]
- [moka同学笔记]四、Yii2.0课程笔记(魏曦老师教程)[匿名函数的使用操作]
在评论页面中index.php中 [ 'attribute'=>'status', 'value'=>'status0.name', 'filter'=>Commentstatus: ...
- [moka同学笔记]二、Yii2.0课程笔记(魏曦老师教程)
一.在标签tags的model中 //使用正则表达式,把标签字符串转换成数组 public static function string2array($tags) { return preg_spli ...
- Yii2.0学习笔记:创建登录表单
第一步:在model层创建一个EntryForm.php文件 复制以下代码,注意model的文件.方法.类的命名规范(大小写) <?php namespace app\models; use Y ...
- Yii2.0学习笔记:第一个页面Saying Hello
Controller目录下创建TestController.php 复制下面代码,yii跟tp一样,全程命名空间 <?php namespace app\controllers; use yii ...
随机推荐
- 谁能在同一文件序列化多个对象并随机读写(反序列化)?BinaryFormatter、SoapFormatter、XmlSerializer还是BinaryReader
谁能在同一文件序列化多个对象并随机读写(反序列化)?BinaryFormatter.SoapFormatter.XmlSerializer还是BinaryReader 随机反序列化器 +BIT祝威+悄 ...
- SharpFileDB - a file database for small apps
SharpFileDB - a file database for small apps 本文中文版在此处. I'm not an expert of database. Please feel fr ...
- 前nginx后Apache+Node反向代理
前几天一直在被一个问题困扰,机器上跑的站点太多了,Apache上面有十几个,NodeJS的也有一堆,记端口号都要烦死,于是萌生了使用反向代理的想法.出发点貌似太low了,完全不是出于负载均衡.高并发什 ...
- 打造自己的html5视频播放器
前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...
- 列出场景对象Lightmap属性
首先上效果图: 编辑器代码: using UnityEngine; using UnityEditor; using System.Collections; public class Lightmap ...
- 【开源】OSharp3.0框架解说系列:新版本说明及新功能规划预览
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- 感恩回馈,《ASP.NET Web API 2框架揭秘》免费赠送
在继<WCF全面解析(上下册)>.<ASP.NET MVC 4框架揭秘>之后,我的另一本书<ASP.NET Web API 2框架揭秘>( 本书详细信息见< ...
- UWP开发之Mvvmlight实践二:Mvvmlight的核心框架MVVM与MVC、MVP的区别(图文详解)
最近UWP开发在海外很潮流,随着微软收购Xamarin,我们这些C#程序员也可以靠这杆小米枪挑战Android,IOS平台了. 那我们为什么选择MVVM做UWP开发?MVC,MVP,MVVM他们之间到 ...
- stm32控制电机
一.总体思路 使用端口GPIOA来连接电机,所以给GPIOA编程就可以控制电机.使用系统时钟SysTick来周期性的给电机发送脉冲.用四个按钮来控制需要发送脉冲的个数,每个按钮被按下就设置 ...
- 【记录】xUnit for vs2012/vs2013
关于 NUint 以及单元测试的相关内容,可以参考:[单元测试]NUint使用详解及Visual Studio配置. xUnit 是 NUint 的进化版本,使用方法和 NUint 类似,首先下载安装 ...