Estou utilizando Spring Security 4.0.0.M2 em minha aplicação para ir de acordo com meus estudos.
Criei essa classe:
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter
Nela sobrescrevi o método protected void configure(HttpSecurity http). Ao proteger uma página, utilizo da seguinte forma:
http.authorizeRequests().antMatchers(“minhaPage”).hasRole(“TEST”). Para buscar essa autorização seria necessário criar uma estrutura do tipo User que implementa UserDetails que obrigatoriamente deve sobrescrever o atributo “roles” que devolve uma coleção que implementa GrantedAuthority. O problema é que nesse sistema o usuário não tem uma coleção de “roles”, apenas uma “role”. Teria como eu mudar a forma que o Spring busca essa “hasRole(“TEST”)”?
E como padrão, também tenho essa configuração nessa classe SecurityConfiguration:
@Autowired
private UserDetailsService users;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception
{
auth.userDetailsService(this.users).passwordEncoder(new BCryptPasswordEncoder());
}