Shiro:在我的项目中是否有获取权限列表的方法,该列表由@RequiresPermissions注释定义

时间:2014-09-03 03:19:35

标签: security permissions shiro

所以我可以从此列表中为角色分配权限,还是应该将这些权限存储在数据库中?有时,我不确定它们是否相同。

例如,如果有@RequiresPermissions类似

@RequiresPermissions("resourceA:create")
@RequiresPermissions("resourceA:update,delete")
@RequiresPermissions("resourceA:read")
@RequiresPermissions("resourceB:create,read,update,delete")

我可以获得权限列表,如:

["resourceA:create","resourceA:update","resourceA:delete","resourceA:read",
"resourceB:create","resourceB:update","resourceB:delete","resourceB:read"]

或喜欢

{"resourceA":{"create","update","delete","read"},
"resourceB":{"create","update","delete","read"}}

1 个答案:

答案 0 :(得分:0)

声明这样的权限只是为了让shiro使用它们来检查它们是否与用户可以做的事情相匹配,它绝不会通过API公开。

如果您真的希望能够查询权限,那么最好使用JdbcRealm,将它们放在数据库中以便查询它们。