.
QQ扫一扫联系
后台权限管理统一在 ModStart\Admin\Middleware\AuthMiddleware.php
管理,匹配规则如下:
\Module\Aaa\Admin\Controller\BbbController@ccc
$PermitMethodMap
,对权限标识进行转换,转换表如下
currentMethod => checkMethod
使用 当前 Controller 的 checkMethod 检查权限currentMethod => controller@method
使用 Controller@method 检查权限currentMethod => @rule
使用 rule 检查权限currentMethod => *
忽略匹配不到时的权限检查* => *
本 Controller 的所有方法匹配不到时忽略权限检查在后台导航菜单定义时,默认会 url
作为权限校验标识
也可自定义权限标识
在代码可以使用以下方法判断是否包含某个权限
使用了RBAC标准授权:
用户表(admin_user) ↔ 角色关联表(admin_user_role) ↔ 角色表(admin_role) ↔ 角色权限表(admin_role_rule)
用户登录后可通过如下方法获取用户角色标识列表
根据 权限校验原理 可以看到,默认是基于 Controller
粒度的权限校验。 如果需要对页面的更细粒度的权限控制,需要在 ModuleServiceProvider
中注册更多的权限校验规则。
以独立控制后台增删改查权限为例,可以在 ModuleServiceProvider
中注册如下规则,在菜单定义时使用 hide
参数隐藏菜单,但是权限控制出现在角色配置上。
随后再 Grid
中设置操作:
如果需要更详细的控制每一行是否显示某个操作,可以需要定义每行的操作:
同时,需要在 edit
方法中增加权限校验:
.