小编Mar*_*rio的帖子

Spring Boot + Spring Security + Hierarchical Roles

我试图在我的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)

spring spring-security spring-boot

11
推荐指数
2
解决办法
8532
查看次数

标签 统计

spring ×1

spring-boot ×1

spring-security ×1