我试图在我的Spring Boot应用程序中设置分层角色但没有成功.我已经完成了互联网上不同地方所说的一切.但是他们都没有能够解决这个问题.
这是我的SecurityConfig类的代码.当我使用具有ROLE_ADMIN的用户登录应用程序时,它应该能够从'/ users'检索数据,但是目前我收到了拒绝访问权限的异常.如果用户具有ROLE_USER凭证,则可以正常工作.任何人都可以帮助我找出失败的原因吗?提前致谢.
@Configuration
@EnableWebMvcSecurity
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private SigpaUserDetailsService userDetailsService;
@Bean
public RoleHierarchyImpl roleHierarchy() {
RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl();
roleHierarchy.setHierarchy("ROLE_ADMIN > ROLE_USER");
return roleHierarchy;
}
@Bean
public RoleHierarchyVoter roleVoter() {
return new RoleHierarchyVoter(roleHierarchy());
}
@Bean
public DefaultWebSecurityExpressionHandler expressionHandler(){
DefaultWebSecurityExpressionHandler expressionHandler = new DefaultWebSecurityExpressionHandler();
expressionHandler.setRoleHierarchy(roleHierarchy());
return expressionHandler;
}
@Bean
@SuppressWarnings(value = { "rawtypes" })
public AffirmativeBased accessDecisionManager() {
List<AccessDecisionVoter> decisionVoters = new ArrayList<AccessDecisionVoter>();
WebExpressionVoter webExpressionVoter = new WebExpressionVoter(); …Run Code Online (Sandbox Code Playgroud)