Spring Security 3 no-xml角色限制不起作用

时间:2014-05-06 14:39:00

标签: spring spring-security

我在新应用程序中使用spring security,并配置了WebSecurityConfigurerAdapter。过滤器的一切工作正常,但问题在于我有两个漏洞的区别:Usuario(用户)和Administrador(管理员)。当我使用User角色登录并且访问我限制的路径(/ restricted)时出现问题 - 一切正常,过滤器应用 - 但是当我作为Admin访问时,我只能设法访问用户路径(/受限制),而不是我想要的/ admin路径。

以下是我的配置。

@Override
protected void configure(HttpSecurity http) throws Exception {
     http.authorizeRequests()
     .antMatchers("/resources/**", "/includes/**", "/cadastrar", "/logout", "/login", "/", "/home").permitAll()
     .antMatchers("/admin/**").hasRole("ADMINISTRADOR")
     .anyRequest().authenticated().antMatchers("/restricted/**").hasRole("USUARIO")
     .anyRequest().authenticated().and().formLogin()
    .loginPage("/login").defaultSuccessUrl("/success-login", true)
    .loginProcessingUrl("/login").failureUrl("/login?error=true").permitAll().and()
    .logout().logoutUrl("/logout").logoutSuccessUrl("/");
}

这里有人知道什么是错的吗? 非常感谢

1 个答案:

答案 0 :(得分:0)

解决。我刚刚改为权威而不是洞。现在一切都很好。

@Override
protected void configure(HttpSecurity http) throws Exception {
     http.authorizeRequests()
     .antMatchers("/admin/**").hasAuthority("ADMINISTRADOR")
     .antMatchers("/restricted/**").hasAnyAuthority("USUARIO", "ADMINISTRADOR")
     .antMatchers("/resources/**", "/includes/**", "/cadastrar", "/logout", "/login", "/", "/home").permitAll()
     .and().formLogin()
    .loginPage("/login").defaultSuccessUrl("/restricted/teste", true)
    .loginProcessingUrl("/login").failureUrl("/login?error=true").permitAll().and()
    .logout().logoutUrl("/logout").logoutSuccessUrl("/");
}