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会自动生成对应的代码和注解。
每次有代码变动时,需要先进入后台使用“更新节点”功能更新节点,也可以使用命令行在本地更新节点:
php think node
偷懒行为!
在env
中有一个配置项如下:
# 没有节点控制的是否放行
DEFAULT_AUTH_CHECK=false
很多时候我们会自定义控制器和方法,这时必须手动定义注解才能更新到节点中(curd的方法都会自动生成)。我们可以将该配置项改为true
,此时对于这些未定义的“节点”,将默认放行。
原文标题:权限的用法
原文文档:ulthon_admin
原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/64edbfd545125/zh-cn/2.x.html
原文平台:奥宏文档
2.x