白狼栈 2016-04-29 13:16:57 5896次浏览 1条评论 5 0 0

作者:白狼 出处:http://www.manks.top/article/yii2_rbac_description本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。原文带图片参考。
本篇的主题是 rbac权限控制的详细操作步骤,注意是操作步骤哦,关于配置与rbac的搭建,我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程说的再清楚不过了。
但是,在很多人的反馈下,说是完全按照本主的步骤来的,丝毫不差,为啥菜单不显示,为啥不显示呢不显示?艾玛,最终在群里帮人调试的时候找到原因了,si分的不容易啊。原因就是你学会了搭建没学会操作啊,啊,啊,我们今天就来详细的说说这rbac的权限控制具体怎么操作!当然,大前提下是你已经按照我们上文成功搭建一套完美的后台并实现了rbac权限控制。
以创建user表并未其添加权限为例。

1、创建user表,然后噼里啪啦的创建完毕,十分的简单我们就不细说了

2、用gii生成model+curd,如果你不会操作,可以点击yii2-gii的详细操作步骤进行操作

3、我们打开路由页面 /admin/route/index 大概会出现下图的界面

如果你的左侧菜单没有出现我们上图中的/user/*系列路由,请点击其旁边的刷新按钮进行刷新。

现在我们把左侧的/user/*系列选中移动到右

4、我们打开权限界面 /admin/permission/index

点击新增权限按钮,按照下图添加名称和描述即可

点击新增,成功后会跳转到该权限的详情页面,像下图中所示,们选中/user/*系列移动到右侧

5、我们访问角色列表页面 /admin/role/index 添加角色,只填写名称和描述即可,添加成功后会跳转到角色的详情页面,然后我们按照下图只需要把权限"用户管理"移动过就行了

意思就是我们给刚刚创建的这个角色分配"用户管理"的权限,在第四步中,我们已经为"用户管理"分配了/user/*系列的权限。

6、我们访问分配页面 /admin/assignment/index 为当前用户分配刚刚添加的角色。注意是角色哦,不是Permission,不要重复添加了。

7、如果我们想要刚刚的添加的操作"用户管理"显示在菜单上,我们还需要打开菜单列表页

/admin/menu/index 点击新增菜单即可。

其实每一项操作都要大学问,菜单这块可以参考yii2 rbac权限控制之菜单menu详细教程一文,相信你会大收所获!

到此,我们给当前用户分配/user权限操作基本完成了,下面我们可以访问/user/index看看吧,正常就没事,如果没有仍然提示没权限,那估计就是你的事了,重头再来多操作几遍吧骚年。

  • 评论于 2017-03-13 18:01 举报

    如果角色之间存在多级组织架构的层级关系,数据拉取是如何一级级实现的呢?
    比如超级管理员,总公司负责人,分公司负责人,部门负责人,组长,销售人员,如何保证每个角色只能看到手下管理的人员的订单记录?

您需要登录后才可以评论。登录 | 立即注册