yii2的权限管理系统RBAC简单介绍
这里有几个概念
权限:
指用户是否可以执行哪些操作,如:编辑、发布、查看回帖
角色
比如:VIP用户组, 高级会员组,中级会员组,初级会员组
VIP用户组:发帖、回帖、删帖、浏览权限
高级会员组:发帖、回帖、浏览权限
中级会员组:回帖、浏览权限
初级会员组:浏览
在Yii2.0中
- yii\rbac: Item 为角色或者权限的基类,其中用字段type来标识。1代表角色,2代表权限
- yii\rbac: Role 为代表角色的类
- yii\rbac: Permission 为代表权限的类
- yii\rbac: Assignment 为代表用户角色或者权限的类
- yii\rbac: Rule 为代表角色或权限能否执行的判定规则表
auth_item 存储权限和角色,如下图所示:

auth_item_child 表是权限和角色从属关系,如下图所示:

大概了解上面的概念后,我们具体看具体怎么实现的。
1、在config中console.php配置RBAC组件,如下图

PS:
有的文章写的是PhpManageer,如果是这样的话,在运行会报错。
然后运行
yii migrate --migrationPath=@yii/rbac/migrations/
成功执行,产生权限表。

2、首先要在web.php配置下RBAC的组件。

添加authManager组件,下面的xxxTable可以不用添加,默认就是这样的。
这时候,我们刷新下前台页面,正常。这就说明配置方面没有问题。
这时候,我们来看下如何创建角色、权限、角色与权限方面的问题
我们随便创建个Controller,这里我用IndexController,只要能访问到这个Controller就行,无所谓哪个控制器。
1、如何创建权限

然后访问
http://yii.local.com:/index.php?r=admin/index/create-permission&item=index
必须带参数,$item就是你要创建的权限。如:post-发帖,edit-编辑,update-更新,view-浏览,index-查看首页等等
2、创建角色

同样的道理,访问
http://yii.local.com:8090/index.php?r=admin/index/create-role&item=vip_user
这时候,我们创建了个vip_user用户组。
3、如何将某角色拥有某权限OR如何将某权限纳入进某角色

$item1 是角色,$item2 是权限
http://yii.local.com:8090/index.php?r=admin/index/create-empowerment&item1=vip_user&item2=edit
将edit权限放进vip_user角色,即vip_user用户组有edit权限
4、如何将某用户加入某角色(用户组)中

浏览器访问
http://yii.local.com:8090/index.php?r=admin/index/create-assign&item1=post&item2=1
意思是将uid=1的用户赋予发帖的权限
http://yii.local.com:8090/index.php?r=admin/index/create-assign&item1=vip_user&item2=1
意思是将uid=1的用户赋予vip_user用户组的权限
这里说明下,某用户可以属于某个用户组即角色,也可以具有某个权限。

如果某操作不在auth_item_child表的child中,将会

以上只是对RBAC做简单介绍。具体我们可以将这些功能丰富之后,写入后台。
yii2的权限管理系统RBAC简单介绍的更多相关文章
- Winform开发框架之权限管理系统的改进
权限管理系统,一直是很多Mis系统和一些常见的管理系统所需要的,所以一般可以作为独立的模块进行开发,需要的时候进行整合即可,不需要每次从头开发,除非特殊的系统需求.我在Winform开发框架介绍中的随 ...
- asp.net core 身份认证/权限管理系统简介及简单案例
如今的网站大多数都离不开账号注册及用户管理,而这些功能就是通常说的身份验证.这些常见功能微软都为我们做了封装,我们只要利用.net core提供的一些工具就可以很方便的搭建适用于大部分应用的权限管理系 ...
- Spring Cloud实战: 基于Spring Cloud Gateway + vue-element-admin 实现的RBAC权限管理系统,实现网关对RESTful接口方法权限和自定义Vue指令对按钮权限的细粒度控制
一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT ...
- yii2权限控制rbac之rule详细讲解
作者:白狼 出处:http://www.manks.top/yii2_rbac_rule.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留 ...
- javaweb+SSH实现简单的权限管理系统
权限管理,平时里很多地方我们都可以看到,比如聊QQ时群里的群主.管理员以及成员之间的功能是不一样的--大家一定会遇到的一个问题,所以整理 一下自己写权限系统的一些经验给大家,只起参考作用,也望大家笑纳 ...
- yii2权限控制rbac之rule详细讲解(转)
在我们之前yii2搭建后台以及rbac详细教程中,不知道你曾经疑惑过没有一个问题,rule表是做什么的,为什么在整个过程中我们都没有涉及到这张表? 相信我不说,部分人也都会去尝试,或百度或google ...
- 基于RBAC模型的通用企业权限管理系统
1. 为什么我们需要基于RBAC模型的通用企业权限管理系统 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限 ...
- thinkphp整合系列之rbac的升级版auth权限管理系统demo
权限管理基本是作为网站的标配了: 除非是像博客这类个人使用的:否则权限管理的重要性不言而喻: 今个就来写写auth权限管理: thinkphp已经内置了auth权限类位于:/ThinkPHP/Libr ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...
随机推荐
- HTML5笔记2——HTML5音/视频标签详解
音视频的发展史 早期:<embed>+<object>+文件 问题:不是所有浏览器都支持,而且embed不是标准. 现状:Realplay.window media.Quick ...
- Linux监控工具介绍系列——OSWatcher Black Box
OSWatcher Balck Box简介 OSWatcher Black Box (oswbb)是Oracle开发.提供的一个小巧,但是实用.强大的系统工具,它可以用来抓取操作系统的性能指标,用 ...
- [DJANGO] excel十几万行数据快速导入数据库研究
先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.setting ...
- AutoMapper使用中的问题
指定值只会执行一次 public class MomanBaseProfile : Profile { public MomanBaseProfile() { CreateMap<Request ...
- CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...
- 我将系统从Windows迁移至Linux下的点点滴滴
一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- 【腾讯优测干货分享】安卓专项测试之GPU测试探索
本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...
- Linux 中优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
这样一个标题可能不太准确,因为确实无法准确地解释什么叫"文本化编辑思想".其实我这篇随笔主要是想探讨 Markdown.LaTeX.MathJax,有兴趣的朋友可以继续往下看,同时 ...
- CSharpGL(27)讲讲清楚OpenGL坐标变换
CSharpGL(27)讲讲清楚OpenGL坐标变换 在理解OpenGL的坐标变换问题的路上,有好几个难点和易错点.且OpenGL秉持着程序难以调试.难点互相纠缠的特色,更让人迷惑.本文依序整理出关于 ...