
Shiro 的Permissions
发布日期:2021-05-24 06:08:10
浏览次数:21
分类:精选文章
本文共 1071 字,大约阅读时间需要 3 分钟。
Permissions String Syntax Guide
简 单 的 字 符 表示 permissions,例如 queryPrinter
。 该语法采用层级划分,分别从功能领域、操作权限、主题实例等多个维度进行控制。以下是该语法的核心规则和实际应用示例。
####多层级权限划分 系统 权限字符串由三个部分构成:功能域、操作权限和主题实例。各部分之间采用冒号(:
)分隔,具体规则如下:
功能域与操作的结合
权限字符串的第一部分(前面没有冒号)通常用于限定权限适用的功能域。例如:printer:print // 打印机功能中执行“print”的操作printer:query // 打印机功能中执行“query”的操作
冒号分隔的三部分
完整的权限字符串通常包含三部分:领域、操作、主题实例。例如:printer:query:lp720 // 打印机功能中执行“query”操作,应用于“lp720”打印机型号printer:print:* // 打印机功能中所有支持的操作权限
可以使用通配符*
表示未明确指定的操作或实例。
部分省略规则
为了简化书写,部分组成部分可以省略:- 如果操作部分省略,则表示所有操作,等同于
printer:print:*
- 如果实例部分省略,则表示所有实例,等同于
printer:*:*
值得注意的是,某些参数省略时可能会改变实际含义。例如:
printer:lp720 // 只指定了一个实例,不等于 printer:print:lp720
在未明确指定操作时,默认可能采用默认操作(如“view”或“read”,具体取决于系统设置)。
Permissions String 的实际案例
以下是几种典型的权限字符串示例:
- 基本权限
user:read,write // 用户可以读取和写入文件admin:* // 管理员拥有所有权限
- 多层级权限
db:query,update // 数据库可以执行查询和更新操作server:ping,* // 服务器可以执行“ping”和所有其他操作
- 主题实例化控制
printer:query:lp500,hp800 // 打印机功能中执行查询操作,适用于“lp500”和“hp800”打印机
- 通配符的应用
printer:print:* // 打印机可以执行所有相关操作*:view // 所有功能可以执行“view”操作
通过合理搭配这些语法元素,可以为系统权限管理提供灵活且细化的控制策略,充分满足不同用户角色的需求。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月11日 00时27分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【自考】之信息资源管理(一)
2019-03-12
setup facatory9.0打包详细教程(含静默安装和卸载)
2019-03-12
Linux kernel pwn --- CSAW2015 StringIPC
2019-03-12
IDEA 找不到 Persistence窗口解决办法
2019-03-12
C++ Primer Plus读书笔记:循环读取(错误处理)
2019-03-12
Form窗体属性
2019-03-12
vue 错误收集
2019-03-12
00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
2019-03-12
00013.05 字符串比较
2019-03-12
Effective Java 读书笔记
2019-03-12
SpringBoot使用@Email报错误
2019-03-13
访问servlet时弹出文件下载框解决方法
2019-03-13
IDEA-@Slf4j和log标签&@Data(Lombok)无效
2019-03-13
Thymeleaf 生成下标,索引,使用Stat变量
2019-03-13
初始微服务---Springcloud发展【第一期】
2019-03-13
RAFT 拜占庭将军 共识算法
2019-03-13
UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
2019-03-13