作者:鲁鲁槟 出处:https://luluqi.cn/post/129
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
需求:普通管理员只可以查看修改自己的信息,而站长可以修改所有人的信息
一、用 gii 生成 user 模型和 CRUD 操作
二、创建“管理用户”和”规则“菜单
1、点击“路由”,然后点击 ,即可以看到多了刚刚生成的 userController 的路由
将 /user/* 和 /user/index 移动至右边
将 /admin/role/* 和 /admin/role/index 也移动至右边,待会创建 “规则” 菜单
2、点击“菜单”创建以下菜单
三、添加“规则”(路由)给“权限控制”(权限)
1、点击“权限”然后进行创建“管理用户”的权限
2、点击“权限”,然后再点击”权限控制“的查看按钮,将 /admin/rule/* 移至右边
3、点击“角色”,为“站长”和“普通管理员”添加“管理用户”的权限
四、为“普通管理员”添加“修改用户”的规则
1、新建“修改用户”的规则
① 刷新页面,左侧菜单出现“规则”的菜单,点击“规则”创建“修改用户”的规则
② 新建 backend\components\UserRule 这个类文件
2、为“普通管理员”添加“修改用户”的规则
点击“角色”,再点击“普通管理员”的更新按钮
打开 auth_item 表,可以发现“普通管理员”这个记录被修改了
五、测试“修改用户”的规则是否发挥作用
1、登录 master 站长,点击“管理用户”,再点击 admin 修改的按钮,发现可以修改
2、登录 admin 普通管理员,点击“管理用户”,再点击 master 修改的按钮,发现无法可以修改
表明“修改用户”的规则对“普通管理员”这个角色发挥作用了。
注意:测试时务必把 \backend\main.php 的 * 注释掉
注:如有疑问或者有更好的方法,请加入QQ群453300767 进行讨论或在下方进行评论。
如果这篇文章对您有帮助,不妨微信小额赞助我一下,让我有动力继续写出高质量的教程。