最近,我想知道如何使角色层次结构在Spring Security 6.0.2中工作,而不像这样编写bean
@Bean
public AuthorityAuthorizationManager<RequestAuthorizationContext>
guestAuthorityAuthorizationManager() {
AuthorityAuthorizationManager<RequestAuthorizationContext>
objectAuthorityAuthorizationManager =
AuthorityAuthorizationManager.hasAuthority(GUEST.getRole());
objectAuthorityAuthorizationManager.setRoleHierarchy(roleHierarchy());
return objectAuthorityAuthorizationManager;
}
对于常见的平面角色层次结构,如ADMIN > USER > STAFF > GUEST
。
1条答案
按热度按时间42fyovps1#
升级到Spring 6.1.0(附带Sping Boot 3.1.0依赖项训练)后,解决方案只是引入
RoleHierarchy
bean,如Spring会自动使用它。
示例:
注意到
.hasRole()
没有“ROLE_”前缀http.authorizeHttpRequests(...)
的括号内使用configurer(我在这里使用lambda)。RoleHierarchy在这里使用。好好享受吧!