系统权限管理

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 进行修改哦!!

用户管理截图
Last Updated:
Contributors: 邹景立