首页 > 解决方案 > 如何在 Spring Security 4 中创建子级别角色?

问题描述

给你一个问题。在我的应用程序中,我使用的是 Spring Security 4 。现在,我想拥有一个不同的级别——角色。看一个例子。

现在:

成为:

然后,我想在我的菜单 jsp 页面中使用 spring 安全标签来从客户 A / 客户 B / 客户 C​​ 中以相同的角色(角色 2)获取一些不同的菜单。

提前致谢。

标签: spring-securitymenu

解决方案


您可以通过公开RoleHierarchybean 来设置角色层次结构。

@Bean
public RoleHierarchy roleHierarchy() {
    RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl();
    roleHierarchy.setHierarchy("ROLE_ADMIN > ROLE_ONE\nROLE_A > ROLE_TWO\nROLE_B > ROLE_TWO\nROLE_C > ROLE_TWO");
    return roleHierarchy;
}

这就是说,如果用户是,"ROLE_ADMIN"那么他们也是"ROLE_ONE"
如果用户是,"ROLE_A"那么他们也是"ROLE_TWO"
如果用户是,"ROLE_B"那么他们也是"ROLE_TWO"
如果用户是,"ROLE_C"那么他们也是"ROLE_TWO"
您可以通过使用换行符\n分隔多个角色层次结构来定义它们。


推荐阅读