Realizei o curso Spring MVC II e na aula 4 (Personalizando o login e logout), o professor ensina a criar um sistema de autenticação criando uma classe Usuário e outra chamada Role. Ficou basicamente assim:
Classe Usuario (ocultei os getters, setters e os métodos do UserDetails para resumir):
@Entity
public class Usuario implements UserDetails {
private static final long serialVersionUID = 1L;
@Id
private String email;
private String senha;
@OneToMany(fetch=FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();
Classe Role:
@Entity
public class Role implements GrantedAuthority {
private static final long serialVersionUID = 1L;
@Id
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String getAuthority() {
// TODO Auto-generated method stub
return this.nome;
}
}
Bom, funcionou tudo perfeitamente, todavia, ocorre problema quando eu quero criar mais de um usuário com a mesma ROLE. É como se eu não pudesse repetir a mesma role para usuários diferentes. Alguem sabe como resolver isso? Quero que vários usuários possam ter a mesma ROLE ...
Obrigado!