【发布时间】:2015-04-20 23:43:29
【问题描述】:
我将 Spring Security 3.2.5.RELEASE 与 ThymeLeaf 2.1.4.RELEASE 一起使用。我已经在我的安全上下文中定义了角色层次结构。在我的视图层中,我使用sec:authorize 属性来定义菜单项。我希望看到顶级角色下的所有菜单项,但我只看到该角色下定义的菜单。如何解决此问题,以便我看到顶层下的所有菜单?
任何指针将不胜感激。谢谢。
<beans:bean id="roleVoter" class="org.springframework.security.access.vote.RoleHierarchyVoter">
<beans:constructor-arg ref="roleHierarchy"/>
</beans:bean>
<beans:bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<beans:property name="hierarchy">
<beans:value>
ROLE_ADMINISTRATOR > ROLE_MANAGER > ROLE_CONTENT_ADMINISTRATOR
</beans:value>
</beans:property>
</beans:bean>
在我的视图页面中,我使用sec:authorize 属性,如下所示:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<body th:fragment="admin-menu" sec:authorize="hasRole('ROLE_ADMINISTRATOR')">
<li>
<a href="#"><i class="fa fa-users"></i> <span class="nav-label">Users</span> </a>
</li>
</body>
</html>
【问题讨论】:
标签: java spring spring-mvc spring-security thymeleaf