ulthon_admin
欢迎 目录和文件规范 系统架构 命名规范 php-cs-fixer public/static目录规范 app/common目录规范 数据库规范 CURD 命令行 表结构 数据库迁移代码 最佳实践 数据库自动缓存 后台菜单导入导出 权限的用法 table数据表格 cols operat _if titleField field selectList valueParser trueHide fieldFormat templet defaultValue search相关 time defaultSearchValue defaultToolbar init formFullScreen toobar modifyReload 控制器 CURD方法 导出 控制器通用验证 dataBrage向js传递参数 组件控件 select 下拉菜单option拼接 lay-submit paste-text粘贴 multiple-columns editor data-upload上传 tag-input标签输入 property-input动态字段输入 data-date时间控件参数 table-data列表选择器 city-picker城市选择器 copy-text 全局监听组件 data-request data-open 内置定时器 并发模式 重置密码 系统配置 PHP助手函数 sysconfig JS助手函数 checkMobile empty open 弹框 叠加loading getDataBrage getQueryVariable 扩展机制 事件扩展 实现事件 执行事件 事件列表 AdminLayoutRequireAfter LoadMigrationFiles AdminLoginIndex AdminLoginForget AdminLoginType AdminMenuTab AdminLayoutRequireBefore 自动更新 性能优化 精简代码 关闭数据库日志驱动 皮肤 正常 科幻 其他 切换模块时直接切换内容 关闭上传文件注入检测 代码编译原理 接入workerman和命令参数 升级TP6.1 Request的默认过滤 异步引入全局script 线上安装脚本 兼容PHP8.1

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

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

如何定义权限?

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

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

一个经典的例子在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