Fiz o login como @ManyToOne na entidade Perfil, que no meu projeto chamei de nível, e agora esta dando esse erro
Erro:
java.lang.ClassCastException: class br.com.example.model.Nivel cannot be cast to class java.util.Collection (br.com.example.Nivel is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @3dd3a235; java.util.Collection is in module java.base of loader 'bootstrap')
at br.com.example.model.Login.getAuthorities(Login.java:61) ~[classes/:na]
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.createSuccessAuthentication(AbstractUserDetailsAuthenticationProvider.java:197) ~[spring-security-core-5.5.3.jar:5.5.3]
at org.springframework.security.authentication.dao.DaoAuthenticationProvider.createSuccessAuthentication(DaoAuthenticationProvider.java:122) ~[spring-security-core-5.5.3.jar:5.5.3]
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:168) ~[spring-security-core-5.5.3.jar:5.5.3]
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) ~[spring-security-core-5.5.3.jar:5.5.3]
at br.com.example.controller.AutenticacaoController.autenticar(AutenticacaoController.java:36) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]Login:
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "login_id")
private Long id;
private String login;
private String senha;
@ManyToOne
@JoinColumn(name = "nivel_id")
private Nivel nivel;
//Getters and Setters
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return (Collection<? extends GrantedAuthority>) this.nivel;
}Nivel:
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "nivel_id")
private int id;
@Column(name = "nome_nivel")
private String nome;
//Getters and Setters
@Override
public String getAuthority() {
return this.nome;
}