【问题标题】:Dynamic instance-level permissions with Apache ShiroApache Shiro 的动态实例级权限
【发布时间】:2015-01-24 00:44:32
【问题描述】:

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

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

感谢任何提示或建议!

【问题讨论】:

    标签: java authorization shiro dropwizard


    【解决方案1】:

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

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

    您可能想看看 PermissionResolver 我发现这个页面很有帮助 AuthorizationConfiguration 来自 shiro 文档,shiro 文档有点像散弹枪

    【讨论】:

    • 我最终以编程方式使用 Subject.checkPermission() 和一个 DAO 来获取我的数据库中的权限!
    猜你喜欢
    • 2017-06-14
    • 2012-07-28
    • 2016-09-28
    • 2011-07-12
    • 2021-07-30
    • 2013-04-26
    • 2012-02-14
    • 2013-10-13
    • 2013-02-26
    相关资源
    最近更新 更多