【发布时间】:2014-12-22 09:05:41
【问题描述】:
我有一个新项目,我想实现spring-security 以及spring framekwork 的其他组件。
我计划将 Spring Security 实现为 2 个级别,Request URL-level 和 view-level
对于请求 URL 级别,我会使用
<intercept-url>标记来限制仅授权用户访问 URL。-
为了 View-Level 安全性,我将在应用程序的两个部分中使用它;
- 对于网络应用menu,为授权用户限制菜单。
- 以及页面内以限制授权用户访问页面的某些部分。
我的困惑是关于为 菜单 链接实施 spring 安全性。
因此我需要使用 spring taglibs <authorize> 标签的 url 属性(以重用<intercept-url> 模式/访问组合),然后我需要像这样手动编写菜单链接:
<security:authorize url="/admin/superadmin/**" >
<a href="superadmin/index.jsp">Super admin page</a>
</security:authorize>
我有以下拦截 url 规则:
<intercept-url pattern="/admin/superadmin/**" access="hasRole('ROLE_SUPER_ADMIN')" />
重点是,我在 Database 表中拥有所有规则,我想根据表中保存的角色/链接动态绘制链接。
那么,问题是如何动态绘制菜单链接,同时还要使用<authorize> taglib?
【问题讨论】:
-
如果您动态绘制菜单,是否可以选择仅绘制可访问项目?换一种说法,当你绘制菜单时,你是否可以访问当前登录的用户?
-
是的,我当然可以访问用户和他的权限(角色),但是这种情况下我会生成授权标签的代码..或者我根本不会使用它.对吗?
-
你能再澄清一下吗?