Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou tendo que fazer login 2x

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

2 respostas

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.

solução!

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.