系统权限管理
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' => ''
];
菜单管理
菜单支持层级结构,最大深度为三级,其中上级菜单占据一级,左侧菜单占据两级。
在创建和编辑菜单时,务必仔细遵循菜单节点命名的规范。例如,节点的命名应遵循如 admin/menu/index
的格式,并请注意节点路径中前后斜杠的使用,避免错误。
若在控制器方法的节点注释中标注了 menu true
,则该节点会自动出现在快捷提示列表中,方便用户直接从列表中选取,无需手动输入,提高了操作效率。
用户管理
在后台创建新的用户账号后,您需要为该账号分配已配置好的权限,这样用户登录后便能显示对应的菜单及访问权限。
请注意:系统默认提供的 admin
账号是超级用户,它拥有访问系统所有节点的权限。若您希望更改超级用户的账号名称,可以在 config/app.php
文件中进行相应配置。