Controller da autenticação
- Criar a classe
AuthenticationController
.- Anotações spring —
@RestController
,@RequestMapping("/login")
. - Atributo —
@AutoWired private AuthenticationManager manager;
. - Metodo —
public ResponseEntity login
- argumento:
@RequestBody @Valid UsuarioDTO usuarioDTO
- variaveis:
var (UsernamePasswordAuthenticationToken) token
,var(Authentication) authentication
.- a variavel
authentication
será usada pelo atributomanager
atraves do spring para efetuar o login.
- a variavel
- retorno:
ResponseEntity.ok().build();
.
- argumento:
- Anotações spring —
- Criar a classe
UsuarioDTO
. - Criar 2 metodos novos na classe
SecurityConfig
.authenticationManager
— metodo responsavel por efetuar o login em conjunto com a classeAuthenticationController
no atributomanager
.passwordEncoder
— metodo responsavel por avisar ao Spring que as senhas no banco vão utilizar o BCrypt.
- Criar um usuário no banco de dados
- id:
1
- login:
john.santannas@gmail.com
- senha:
$2a$12$jwuv27t1RekFCV7ZqBE/hOv0vgWmnb2s9UJh8tRXfUH3NGHFojOt2
. (senha no formato BCrypt)
- id:
- Implementar a interface
UserDetais
na classeUsuario
.- Apos implementar os metodos da interface, realizar 3 principais alterações
getAuthorities
retornar umList.*of*(new SimpleGrantedAuthority("ROLE_USER"));
.getPassword
retornar o atributosenha
.getUserName
retornar o atributologin
.
- Apos implementar os metodos da interface, realizar 3 principais alterações