Yii2 RBAC
一、相关设置
1.路由设置:/admin/route/index #访问将左侧所有路由添加到右侧,即写入路由数据,这里的路由是根据php反射机制自动显示,也可手动增加路由
2.权限设置:/admin/permission/index(依赖路由或其他权限) #添加一个权限,分配给一个路由,例如:“ 全局权限 ”,右侧加入 “ /* ”;
3.角色设置:/admin/role/index(依赖权限或路由或其他角色) #添加一个角色,分配给该角色一个权限,例如:“ 超级管理员 ”,右侧加入上一步设置的 “ 全局权限 ”;
4.菜单设置:/index.php?r=admin/menu(依赖路由)
5.角色分配:/admin(依赖权限或角色)
备注:
auth_item:用于存储角色、权限和路由
auth_item_child:角色-权限的关联表
auth_assignment:用户-角色的关联表
二、 Yii2 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 点击新增菜单即可。