Spring security 如何在SpringSecurity4中创建子级别角色?

Spring security 如何在SpringSecurity4中创建子级别角色?,spring-security,menu,Spring Security,Menu,给你一个问题。 在我的应用程序中,我使用的是SpringSecurity4。 现在,我想有一个不同级别的角色。 请看一个例子 现在: 角色1:管理员 角色2:客户 将是: 角色1:管理员 角色2:客户A/客户B/客户C 然后,我想在我的菜单jsp页面中使用spring安全标签,以相同的角色(role2)从customer A/customer B/customer C获得一些不同的菜单 提前感谢。您可以通过公开角色层次结构来设置角色层次结构 @Bean public RoleHierar

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

现在:

  • 角色1:管理员

  • 角色2:客户

将是:

  • 角色1:管理员
  • 角色2:客户A/客户B/客户C
然后,我想在我的菜单jsp页面中使用spring安全标签,以相同的角色(role2)从customer A/customer B/customer C获得一些不同的菜单


提前感谢。

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

@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;
}
这就是说,如果用户是
“角色\管理员”
,那么他们也是
“角色\管理员”

如果用户是
“角色a”
,那么他们也是
“角色2”

如果用户是
“ROLE\u B”
,那么他们也是
“ROLE\u TWO”

如果用户是
“ROLE\u C”
,那么他们也是
“ROLE\u TWO”

您可以使用换行符
\n
分隔多个角色层次结构来定义它们