数据库表创建

在执行yii rbac/init之前,需要在

\console\controllers\RbacController.php中

  1. <?php
  2. namespace console\controllers;
  3.  
  4. use Yii;
  5. use yii\console\Controller;
  6.  
  7. class RbacController extends Controller
  8. {
  9. public function actionInit()
  10. {
  11. $auth = Yii::$app->authManager;
  12.  
  13. // 添加 "createPost" 权限
  14. $createPost = $auth->createPermission('createPost');
  15. $createPost->description = '新增文章';
  16. $auth->add($createPost);
  17.  
  18. // 添加 "updatePost" 权限
  19. $updatePost = $auth->createPermission('updatePost');
  20. $updatePost->description = '修改文章';
  21. $auth->add($updatePost);
  22.  
  23. // 添加 "deletePost" 权限
  24. $deletePost = $auth->createPermission('deletePost');
  25. $deletePost->description = '删除文章';
  26. $auth->add($deletePost);
  27.  
  28. // 添加 "approveComment" 权限
  29. $approveComment = $auth->createPermission('approveComment');
  30. $approveComment->description = '审核评论';
  31. $auth->add($approveComment);
  32.  
  33. // 添加 "postadmin" 角色并赋予 "updatePost" “deletePost” “createPost”
  34. $postAdmin = $auth->createRole('postAdmin');
  35. $postAdmin->description = '文章管理员';
  36. $auth->add($postAdmin);
  37. $auth->addChild($postAdmin, $updatePost);
  38. $auth->addChild($postAdmin, $createPost);
  39. $auth->addChild($postAdmin, $deletePost);
  40.  
  41. // 添加 "postOperator" 角色并赋予 “deletePost”
  42. $postOperator = $auth->createRole('postOperator');
  43. $postOperator->description = '文章操作员';
  44. $auth->add($postOperator);
  45. $auth->addChild($postOperator, $deletePost);
  46.  
  47. // 添加 "commentAuditor" 角色并赋予 “approveComment”
  48. $commentAuditor = $auth->createRole('commentAuditor');
  49. $commentAuditor->description = '评论审核员';
  50. $auth->add($commentAuditor);
  51. $auth->addChild($commentAuditor, $approveComment);
  52.  
  53. // 添加 "admin" 角色并赋予所有其他角色拥有的权限
  54. $admin = $auth->createRole('admin');
  55. $commentAuditor->description = '系统管理员';
  56. $auth->add($admin);
  57. $auth->addChild($admin, $postAdmin);
  58. $auth->addChild($admin, $commentAuditor);
  59.  
  60. // 为用户指派角色。其中 1 和 2 是由 IdentityInterface::getId() 返回的id (译者注:user表的id)
  61. // 通常在你的 User 模型中实现这个函数。
  62. $auth->assign($admin, 1);
  63. $auth->assign($postAdmin, 2);
  64. $auth->assign($postOperator, 3);
  65. $auth->assign($commentAuditor, 4);
  66. }
  67. }

[moka同学笔记]八、Yii2.0课程笔记(魏曦老师教程)[授权]的更多相关文章

  1. [moka同学笔记]三、Yii2.0课程笔记(魏曦老师教程)关联字段增加搜索

    关联字段增加搜索 post表关联adminuser表,通过post.author_id  adminuser.id关联,在YII2.0生成搜索,关联字段搜索时,需要输入关联字段author的id才能搜 ...

  2. [moka同学笔记]一、Yii2.0课程笔记(魏曦老师教程)

    第一节   第二节             课程内容     

  3. [moka同学笔记]七、Yii2.0课程笔记(魏曦老师教程)[新增管理员,重置密码]

  4. [moka同学笔记]六、Yii2.0课程笔记(魏曦老师教程)[徽章气泡]

  5. [moka同学笔记]五、Yii2.0课程笔记(魏曦老师教程)[审核功能]

  6. [moka同学笔记]四、Yii2.0课程笔记(魏曦老师教程)[匿名函数的使用操作]

    在评论页面中index.php中 [ 'attribute'=>'status', 'value'=>'status0.name', 'filter'=>Commentstatus: ...

  7. [moka同学笔记]二、Yii2.0课程笔记(魏曦老师教程)

    一.在标签tags的model中 //使用正则表达式,把标签字符串转换成数组 public static function string2array($tags) { return preg_spli ...

  8. Yii2.0学习笔记:创建登录表单

    第一步:在model层创建一个EntryForm.php文件 复制以下代码,注意model的文件.方法.类的命名规范(大小写) <?php namespace app\models; use Y ...

  9. Yii2.0学习笔记:第一个页面Saying Hello

    Controller目录下创建TestController.php 复制下面代码,yii跟tp一样,全程命名空间 <?php namespace app\controllers; use yii ...

随机推荐

  1. 谁能在同一文件序列化多个对象并随机读写(反序列化)?BinaryFormatter、SoapFormatter、XmlSerializer还是BinaryReader

    谁能在同一文件序列化多个对象并随机读写(反序列化)?BinaryFormatter.SoapFormatter.XmlSerializer还是BinaryReader 随机反序列化器 +BIT祝威+悄 ...

  2. SharpFileDB - a file database for small apps

    SharpFileDB - a file database for small apps 本文中文版在此处. I'm not an expert of database. Please feel fr ...

  3. 前nginx后Apache+Node反向代理

    前几天一直在被一个问题困扰,机器上跑的站点太多了,Apache上面有十几个,NodeJS的也有一堆,记端口号都要烦死,于是萌生了使用反向代理的想法.出发点貌似太low了,完全不是出于负载均衡.高并发什 ...

  4. 打造自己的html5视频播放器

    前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...

  5. 列出场景对象Lightmap属性

    首先上效果图: 编辑器代码: using UnityEngine; using UnityEditor; using System.Collections; public class Lightmap ...

  6. 【开源】OSharp3.0框架解说系列:新版本说明及新功能规划预览

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  7. 感恩回馈,《ASP.NET Web API 2框架揭秘》免费赠送

      在继<WCF全面解析(上下册)>.<ASP.NET MVC 4框架揭秘>之后,我的另一本书<ASP.NET Web API 2框架揭秘>( 本书详细信息见< ...

  8. UWP开发之Mvvmlight实践二:Mvvmlight的核心框架MVVM与MVC、MVP的区别(图文详解)

    最近UWP开发在海外很潮流,随着微软收购Xamarin,我们这些C#程序员也可以靠这杆小米枪挑战Android,IOS平台了. 那我们为什么选择MVVM做UWP开发?MVC,MVP,MVVM他们之间到 ...

  9. stm32控制电机

    一.总体思路       使用端口GPIOA来连接电机,所以给GPIOA编程就可以控制电机.使用系统时钟SysTick来周期性的给电机发送脉冲.用四个按钮来控制需要发送脉冲的个数,每个按钮被按下就设置 ...

  10. 【记录】xUnit for vs2012/vs2013

    关于 NUint 以及单元测试的相关内容,可以参考:[单元测试]NUint使用详解及Visual Studio配置. xUnit 是 NUint 的进化版本,使用方法和 NUint 类似,首先下载安装 ...