SAUDAÇÕES TENHO ALGUMAS DÚVIDAS - 1- Posso usar autenticação via token no padrão MVC ? 2- Estou tentando definir uma página própria de login, onde eu possa adicionar o Recaptcha, e estou utilizando o código abaixo. As Requisições via POST não estão chegando ao controle, estou testando via postman e por mais que eu coloque POST, no controller é chamado o método get. 3- Gostaria de saber tambem quais são os próximos passos, para eu fazer a autenticação por sessão. Porque eu assisti e curso de Spring MVC e o achei bem fraco nesse sentido. Tanto que um colega, teve a mesma dúvida que eu e o professor o mandou assistir as aulas de autenticação com JWT. Porém ainda assim nas aulas achei o conteúdo meio vazio, pois ele ensina sobre tokens, mas sobre a autenticação fica no ar. Gostaria por favor de um caminho.
MEU CODIGO DA CLASSE DE SEGURANÇA
public class SecurityModule extends WebSecurityConfigurerAdapter { ****
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/user").hasAnyRole("ADMIN")
.antMatchers("/").hasRole("CLIENTE_NORMAL")
.antMatchers("/add").permitAll()
.antMatchers("/auth/**").permitAll()
.antMatchers("/auth").permitAll()
.antMatchers(HttpMethod.POST, "/auth").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/auth")
.failureForwardUrl("/auth/error").successForwardUrl("/auth/success");
}
Minha página de autenticação é chamada, agora referente aos names username e password. Onde eles são definidos no Spring ? Tem que ser realmente esses nomes ou posso personalizar ?
Segue meu controller abaixo. "/auth"
@PostMapping
public void login(@RequestBody AuthDto dto) {
System.out.println("Entrando no controller de login método post");
UsernamePasswordAuthenticationToken filter = new UsernamePasswordAuthenticationToken(dto.getUsername(), dto.getPassword());
Authentication authenticate = authManager.authenticate(filter);
System.out.println(authenticate);
}