1
resposta

Erro ao tentar logar novamente após logout

Olá, tudo bem?

Até agora, tudo está funcionando perfeitamente no meu código. Porém após implementar a funcionalidade de logout, eu notei algo muito estranho: Eu clico no link logout, e tudo funciona como esperado. Ou seja, volto para o formulário de login (a url muda para http://localhost:8080/login e o link na barra de navegação volta a ser login). No entanto, se eu digitar minhas credenciais para logar novamente, eu volto para a tela de login com o formulário em branco, o link na barra de tarefas muda para logout, e a Url fica assim http://localhost:8080/login?logout

Não consegui identificar o erro.

O que pode estar acontecendo?

Obrigado!

1 resposta

Oie Alexandre, tudo bem contigo?

Na aula depois dessa o professor explica e arruma esse problema. O vídeo é o primeiro "Usando JDBC Authentication", a explicação começa no minuto "6:00".

Para facilidar, segue o código abaixo:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin(form -> form
                        .loginPage("/login")
                        .defaultSuccessUrl("/home", true) // essa linha que vai resolver seu problema, ela define qual é a página padrão da sua aplicação, então sempre que você logar ele vai te direcionar para a /home
                        .permitAll()
                ).logout(logout -> logout.logoutUrl("/logout")
        ).csrf().disable();
    }

Caso ainda tenha alguma dificuldade, fico a disposição :)

Bons estudos!