【发布时间】:2016-09-22 16:36:01
【问题描述】:
我正在尝试使用 apache shiro 对一些复杂的权限管理系统进行建模。
英语不是我的母语,恐怕我会漏掉一些微妙的术语,例如“角色”、“权限”、“权利”和“特权”。
例如,假设我想创建一个系统来管理建筑物内的打印机等资源。 DB 保存了哪台打印机位于哪座建筑物中的信息。 该系统的用户应该能够重置打印机或打印到它。
我很清楚,有些用户将是“超级管理员”,并且能够重置并打印到任何打印机('printer:*:*')- 我想我们可以说这些人拥有“超级管理员”角色”。
但是,如果允许某人重置特定建筑物('building:A:*')中的打印机怎么办? “建筑管理员”是一个(参数化的)角色吗?或者这只是对特定建筑物的许可?您将如何使用 apache Shiro 进行建模?
n.b.
在标记此 QI 时添加了 user-roles 标签,它说:“用户角色是一组在系统上共享相同特权或权限的用户。使用此标签可以解决有关用户角色在特定安全框架中如何工作的问题,或有关在您的程序中实现用户角色的问题。”
我是否正确地假设基于此定义没有“建筑物管理员”这样的角色,因为作为建筑物 A 的管理员不会给您与作为建筑物 B 的管理员相同的权限? 如果是这样,描述“建筑管理员”的正确术语是什么?
【问题讨论】:
标签: permissions shiro user-roles