Apache Shiro 隐式 [url] 限制
Posted
技术标签:
【中文标题】Apache Shiro 隐式 [url] 限制【英文标题】:Apache Shiro Implicit [url] restriction 【发布时间】: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 过滤器实现并指定其操作?我会认为这是提供默认值的重点!
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我完全忘记了在找到匹配项时,ini 文件中过滤器的顺序会导致“短路”。
在这个过滤器之上,我有一个匹配的基于 角色 的过滤器,因此永远无法达到 perms 过滤器。
[urls]
...
/** = auth, roles[XXX]
...
/accounts/create.jsf = perms["account:create"]
【讨论】:
以上是关于Apache Shiro 隐式 [url] 限制的主要内容,如果未能解决你的问题,请参考以下文章
“NSURL”不能隐式转换为“URL”;您的意思是使用“as”来显式转换吗?在迅速 3