我已经使用数据库中的requestmap表配置了spring security core plugin ..
现在在requestmap表中我有所有可能的网址,并且它是可以访问该网址的等效角色......
现在我想根据存储在requestmap表中的网址生成菜单和子菜单......
所以我的要求是检查菜单和网址的网址。针对登录用户权限的子菜单...如果登录用户有任何一个权限,那么我需要显示该主菜单和可用的子菜单....
例如我的项目中有一个名为user的菜单,其中包含以下子菜单:
**Users (main menu)**
Manage Users (sub menu)
Import Users (sub menu)
现在我的header.gsp内部已经使用if else条件成功实现了上述要求,例如:
if ( privs.contains("/users/manageUsers") || privs.contains("/users/importUsers"))
这里privs是来自requestmap表的登录用户的URL列表。
但是我想使用spring安全标记lib来实现这些,所以为了比较url,我发现了spring安全核心文档中的以下标记:
<sec:access url="/users/manageUsers">
但我有点混淆我如何使用标签库替换或调整..是否有任何标签可用于从多个网址检查并将其评估为真或假?
当然我可以使用带有一些标志逻辑的sec:access标签,但是有没有可以直接满足我要求的标签?
提前致谢...
答案 0 :(得分:1)
<sec:access/>
标记有一个expression
属性,用于评估您传递的表达式:
http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/6%20Helper%20Classes.html#6.1%20SecurityTagLib
您也可以非常轻松地创建自己的logical tag,只有在您的权限检查条件为真时才会呈现标记正文。