Java Apache Shiro的动态实例级权限

Java Apache Shiro的动态实例级权限,java,authorization,shiro,dropwizard,Java,Authorization,Shiro,Dropwizard,我正在用Java创建一个REST服务,结合使用用于身份验证和授权。为了让Shiro使用我的PostgreSQL数据库(我通过Hibernate访问),我扩展了JdbcRealm。身份验证工作正常。创建组级权限也很容易。不幸的是,我无法找到一种惯用方法将某些资源实例绑定到特定用户(主题)。我知道Shiro提供了对的支持,但文档中没有显示允许我执行以下操作的工作流: 用户Alice创建资源X 应该允许用户Bob读取X,但不能写入/删除X 用户Alice应具有对X的完全读/写/删除权限 任何提示或

我正在用Java创建一个REST服务,结合使用用于身份验证和授权。为了让Shiro使用我的PostgreSQL数据库(我通过Hibernate访问),我扩展了JdbcRealm。身份验证工作正常。创建组级权限也很容易。不幸的是,我无法找到一种惯用方法将某些资源实例绑定到特定用户(主题)。我知道Shiro提供了对的支持,但文档中没有显示允许我执行以下操作的工作流:

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

任何提示或建议都将不胜感激

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

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

你可能想看看我从shiro文档中发现这个页面非常有帮助,shiro文档有点散乱

我最终以编程方式使用
Subject.checkPermission()
和数据库中权限的DAO来完成这一切!