权限是后台的基本的功能,本后台没有提供基于上下级的“角色管理”,但仍然提供了用户-角色-权限之间的功能。

可以在管理员管理中设置账号的角色,可以设置多个角色,最终权限相加合并。
在角色管理菜单管理角色和角色的权限。

如何定义权限?

如上图所示,在节点管理中并不存在“添加”、“删除”等操作,因为权限是和代码息息相关的,权限的变化应当跟随代码一起。所以提供了“更新”节点等操作。

那么如何定义这些权限呢?

一个经典的例子在app\admin\controller\system\Admin.php中,如下图所示。
在控制器的注解中使用ControllerAnnotation注解,这里将作为权限的一级分组。
在控制器的注解和方法的注解中使用NodeAnotation注解,将作为最基础的权限。
其中在控制器注解中定义的权限比如设置name属性,在方法中的一般不需要设置,会直接使用方法名。name属性要跟方法命名规范一致,使用小驼峰。

curd会自动生成对应的代码和注解。

每次有代码变动时,需要先进入后台使用“更新节点”功能更新节点,也可以使用命令行在本地更新节点:

  1. php think node

偷懒行为!

env中有一个配置项如下:

  1. # 没有节点控制的是否放行
  2. DEFAULT_AUTH_CHECK=false

很多时候我们会自定义控制器和方法,这时必须手动定义注解才能更新到节点中(curd的方法都会自动生成)。我们可以将该配置项改为true,此时对于这些未定义的“节点”,将默认放行。

原文标题:权限的用法

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/64edbfd545125/zh-cn/2.x.html

原文平台:奥宏文档

2.x