Ola,
estou tendo que fazer login duas vezes , na primeira ele me leva para a pagina de login novamente com a url http://localhost:8080/login?logout
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Ola,
estou tendo que fazer login duas vezes , na primeira ele me leva para a pagina de login novamente com a url http://localhost:8080/login?logout
Olá Ariane. Mesma coisa aqui. Só estou conseguindo efetuar o login se, ao carregar a aplicação, ir manualmente e digitar a url no browser: localhost:8080/home. Neste caso, o Spring Security identifica que eu não estou logado e me redireciona para a página de login. Informo as credenciais e sou redirecionado para a página que havia tentado acessar, ou seja, /home. Agora, não entendi como fazer o redirecionamento quando acesso localhost:8080/login e informo as credenciais. Ocorre o mesmo que você descreveu.
Olá Ariane. Para resolver este comportamento é preciso adicionar uma nova configuração no Spring Security: .defaultSuccessUrl("/home", true)
O método todo ficará assim:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests().anyRequest().authenticated()
.and()
.formLogin(form -> form
.loginPage("/login")
.defaultSuccessUrl("/home", true)
.permitAll()
)
.logout(logout -> logout.logoutUrl("/logout"));
}
A resposta está nesta aula a partir do minuto 6.
Espero ter ajudado.