Apache Shiro的动态实例级权限

时间:2014-11-25 20:50:28

标签: java authorization shiro dropwizard

我正在使用DropwizardApache Shiro结合使用Java创建REST服务,以进行身份​​验证和授权。我扩展了JdbcRealm以使Shiro使用我的PostgreSQL数据库(我通过Hibernate访问)。身份验证效果很好创建组级权限也非常简单。不幸的是,我无法找到将某些资源实例绑定到特定用户(主题)的惯用方法。我知道Shiro支持instance-level access control,但文档没有显示允许我执行以下操作的工作流程:

  • 用户Alice创建资源X
  • 应该允许用户Bob读取X,但不能写入/删除它
  • 用户Alice应具有对X
  • 的完全读/写/删除权限

任何提示或建议都表示赞赏!

1 个答案:

答案 0 :(得分:2)

我正在研究一个类似的问题,我有一个多租户要求,所以我不知道租户在编译时是谁,类似这种类型的权限字符串:

global:{tenant}:users:limited,c,r,u,d

你可能想看看PermissionResolver我发现这个页面非常有用AuthorizationConfiguration来自shiro docs,shiro docs有点像散布枪