【问题标题】:Apache Shiro Implicit [url] restrictionApache Shiro 隐式 [url] 限制
【发布时间】:2013-09-03 00:17:13
【问题描述】:

我正在使用Apache Shiro 来管理我的应用程序安全性,并取得了巨大成功。但是,我试图在我的 shiro.ini 文件中指定一个 url 路径,该路径将阻止根据分配的主题访问指定页面 'permissions'。

我知道权限通常是有效的,因为我可以使用SecurityUtil 来限制对方法和函数的访问,这工作正常。

SecurityUtils.getSubject().isPermitted("account:create");

我显然遗漏了一些东西,因为当我尝试使用默认的 perms 过滤器通过我的 ini 配置文件应用此权限时,权限似乎被忽略了。

我的 shiro.ini 文件的相关部分:

[urls]
...
/accounts/create.jsf = perms["account:create"]
...

(取自Shiro Docs

本来以为当访问指定的url时,实例化perms过滤器,发现主题缺少隐含许可并且页面未呈现!但是页面似乎渲染得很好。 :(

我是否需要创建自己的 perms 过滤器实现并指定其操作?我会认为这是提供默认值的重点!

任何帮助将不胜感激。

【问题讨论】:

    标签: apache security permissions shiro


    【解决方案1】:

    我完全忘记了在找到匹配项时,ini 文件中过滤器的顺序会导致“短路”。

    在这个过滤器之上,我有一个匹配的基于 角色 的过滤器,因此永远无法达到 perms 过滤器。

    [urls]
    ...
    /** = auth, roles[XXX]
    ...
    /accounts/create.jsf = perms["account:create"]
    

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 2013-06-15
      • 2016-09-28
      • 1970-01-01
      • 2013-04-26
      • 2018-09-03
      • 2017-06-14
      • 2012-10-20
      • 2017-11-27
      相关资源
      最近更新 更多