SpringSecurity interfaces
Atualizado
Atualizado
O Spring Security é um sub framework responsável por fazer a parte de segurança/autenticar usuários.
Para que ele possa fazer isso e o nosso projeto tenha o mecanismo de identificar os usuários e os seus perfis usando o framework, precisamos implementar algumas interfaces para que o Security as use, veja:
UserDetails - Tem as informações do usuário. Repare, nós possuímos o getAuthorities
que, na verdade, é uma coleção da interface GrantedAuthority do lado.
GrantedAuthority - É onde as roles do usuário ficarão guardadas.
UserDetailsService - Passaremos um nome de usuário e será retornado um UserDetails.
E uma exceção para caso o usuário não seja encontrado.
Entidades que herdarão as interfaces
Os métodos serão implementados automaticamente.
Role ⇛ GrantedAuthority
User ⇛ UserDetails (lembrar de colocar os retornos nos métodos, se o email é o UserName, colocar o retorno etc)
UserService ⇛ UserDetailsService