我在我的项目中使用shiro 1.2.3并尝试解决以下问题
我的用户角色为admin
,他们应该有权访问网址/user/edit.xhtml
我还拥有权限user:edit:*
的用户,他们应该可以访问相同的网址/user/edit.xhtml
。
我试着这样解决:
[urls]
/user/edit.xhtml = perms[user:edit:?], roles[admin]
这不起作用,因为具有admin
角色的用户没有明确拥有权限user:edit
。
第一次过滤后,链条会失败。
第二种方法是:
[urls]
/user/edit.xhtml = perms[user:edit:?]
/user/edit.xhtml = roles[admin]
正如shiro文档所说,它也不起作用,第一个路径过滤器匹配获胜。 第二个永远不会匹配。
是否有其他方法可以配置shiro,以匹配指定路径的任何过滤器?