- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Spring Security 3.2.5.RELEASE 和 ThymeLeaf 2.1.4.RELEASE。我已经在我的安全上下文中定义了角色层次结构。在我的 View 层中,我使用 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>
在我的 View 页面中,我正在使用 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>
最佳答案
为了使角色层次结构在 thymeleaf 模板和通用安全(注释)配置中起作用,您只需要两件事:
制作 bean :
@Bean
public RoleHierarchyImpl roleHierarchy() {
RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl();
String hierarchy =
"ADMIN_GLOBAL_MANAGEMENT > ADMIN_COMMON " +
"ADMIN_GLOBAL_MANAGEMENT > ADMIN_USER_MANAGEMENT " +
"ADMIN_GLOBAL_MANAGEMENT > ADMIN_PAYMENT_MANAGEMENT " +
"ADMIN_GLOBAL_MANAGEMENT > ADMIN_MESSAGE_MANAGEMENT";
roleHierarchy.setHierarchy(hierarchy);
return roleHierarchy;
}
扩展 WebSecurityConfigurerAdapter 并覆盖一个方法:
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
public void configure(WebSecurity web) throws Exception {
DefaultWebSecurityExpressionHandler expressionHandler = new
DefaultWebSecurityExpressionHandler();
expressionHandler.setRoleHierarchy(roleHierarchy());
web.expressionHandler(expressionHandler);
}
关于java - Spring 安全角色层次结构不适用于 Thymeleaf sec :authorize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609608/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!