系统权限管理
ThinkAdmin V6 的权限管理基于标准 RBAC 简化而来,加入注解权限配置,可精确控制到按钮操作权限。
权限管理涉及 功能节点、权限管理、菜单管理、用户管理,去除了繁杂的功能节点,使得权限管理起来更简单;
其中 功能节点 是由系统自动维护,根据控制器的代码注释实现刷新。如需要加入权限控制的访问方法,需要写上标准的块注释。
注解规则
注解规则案例如下,@auth
优先级高于 @login
配置,通常只需要配置 @auth
即可添加到后台权限配置。
/**
* 操作方法的名称
* @auth true # 表示需要验证权限
* @menu true # 添加系统菜单节点
* @login true # 强制登录才可访问
*/
public function index(){
// @todo
}
注释中有效注释解析如下:
- 其中
@auth true
表示访问需要配置授权才能访问 - 其中
@menu true
在编辑菜单时自动提示节点可选项 - 其中
@login true
强制需要登录才能访问该操作
权限管理
创建好权限后,需要给权限配置勾选可以访问的功能节点。
如:权限 A
只能访问哪些节点,就需要勾选对应的功能节点。
在授权配置时,涉及到应用名称显示,可以在 config/app.php
配置 app_names
中文名称,名称在显示前会经过 lang()
语言转换处理。 如果不希望指定应用不希望授后台权限控制,可以配置 rbac_ignore
选项。
return [
// ...
// 其他参数未显示
'app_names' => [
'admin' => '系统管理',
'wechat' => '微信管理',
'plugin-account' => '账号管理'
],
// 忽略 RBAC 权限检查,可以配置多个应用
'rbac_ignore' => [ 'index', 'wap', 'api' ],
// 配置 RBAC 登录地址,通常不需要配置
'rbac_login' => ''
];
权限配置截图
菜单管理
菜单最多支持三级,上 1 级 + 左 2 级。
菜单创建与编辑的表单,要特别注意菜单对应的节点规范。
如:admin/menu/index
,注意要掉前后的斜线,目前不支持外部链接权限管理。
如果在控制器方法的节点注释中含 menu true
则该节点会出现在自动提示列表中,可以直接从列表选取。
菜单管理截图
用户管理
在后台添加用户账号后,需要将上面配置好的权限分配给用户账号,该用户账号登录后就可以显示对应菜单及访问权限。
注意:默认账号 admin
为系统的超级用户,拥有系统所有节点权限,超级用户的账号可以在 config/app.php
进行修改哦!!
用户管理截图