yii 阅读 2627
Yii2 第17章  rbac效果预览

Yii2 第17章 rbac效果预览

2022-06-27 • lulubin

效果:“普通管理员”可以进行gii和debug的操作,而“站长”除了可以进行gii和debug的操作,还可以进行“权限控制”的操作。

一、创建“调试”的权限:可以进行 gii 和 degug 的操作

1、点击“路由”,将 /gii/* 、/gii/default/index、/debug/* 、/degug/default/index 写入到 auth_item 表

https://file.lulublog.cn/images/3/2022/08/Yp90Vd9Jz01wWd8MCHW1mQCJScwC2O.png?sign=ac68844e11dddec6eaf8730c15edb180&t=6aeb5680

2、点击“权限”,创建名为“调试”的权限,并分配 /gii/* 和 /debug/* 路由

https://file.lulublog.cn/images/3/2022/08/f7tvVb5BT9ltt9NBn1Bln7v5BA75IT.png?sign=93f8f21467e49aaf162290f8a7237dab&t=6aeb5680

3、点击“角色”,创建名为“普通管理员”的角色,并分配“调式”的权限

https://file.lulublog.cn/images/3/2022/08/ZuUfWnYxU5Mh63yX65Ffnx3Fpx1zwh.png?sign=1d8de346a9dc12776a50da64894ddc0f&t=6aeb5680

二、创建“调式”的菜单

1、创建

https://file.lulublog.cn/images/3/2022/08/TZ60IclCXmIV58vv535zI3npieIu3s.png?sign=9c4a9b6cb38c2f130212c4593b20664b&t=6aeb5680

gii 菜单:Parent —— 调式;Name —— gii;Route —— /gii/default/index;Order —— 1

debug 菜单:Parent —— 调式;Name —— debug;Route —— /debug/default/index;Order —— 2

2、分配“调式“权限给”站长“角色

https://file.lulublog.cn/images/3/2022/08/jziNjiJJ5knd55kdSnxnJgkYDXGMsY.png?sign=990a84247d419707a6e3a8313309432f&t=6aeb5680

3、刷新页面,你会发现左侧导航栏多了调式的菜单

https://file.lulublog.cn/images/3/2022/08/U0ZDqppq48T8g4q05Q64MP4804gmxT.png?sign=96e1ec1a02f41e8def82eff48921a68a&t=6aeb5680

三、创建“普通管理员“角色的新用户

1、进入前台 127.0.0.1/advanced/frontend/web 进行注册新用户

https://file.lulublog.cn/images/3/2022/08/cpooZ8p38AVD03031QqAa43NYk0i1i.png?sign=728f0ef20eedd86b0c4286cdf7e1996c&t=6aeb5680

2、进入后台 127.0.0.1/advanced/backend/web/admin/assignment/index

点击 admin 的查看按钮,为 admin 分配普通管理员的角色

https://file.lulublog.cn/images/3/2022/08/AR3p32t327RRPj3SPTlg1tsTpF3213.png?sign=1fbd38be1d356c1c2b0a8ce576f2ad06&t=6aeb5680

3、刷新页面,你会发现 admin 用户也多了 调试的菜单

https://file.lulublog.cn/images/3/2022/08/eemeIMwW00Heqoem42m0vGVI08O1hE.png?sign=5400e77c497ae8f4f01f3eac97719e5c&t=6aeb5680

四、rbac 的作用

1、在步骤三、2中 admin 用户通过 输入地址:127.0.0.1/advanced/backend/web/admin/assignment 进入分配角色的页面,现在我们通过配置限制用户访问,配置文件为 backend/main.php

https://file.lulublog.cn/images/3/2022/08/RFSVrVR4Fi9If29ZS4z6RrNI2V6I8F.png?sign=ff83aa5697f36229fbf32a4fc74dce35&t=6aeb5680

2、现在 admin 用户通过 127.0.0.1/advanced/backend/web/admin/assignment 会出现下面的界面,说明 rbac 成功了

01.png

3、退出 admin 用户,登录 master 用户,发现 master 可以执行 admin/assignment 操作