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

Login

depois da linha

.and().formLogin().loginPage("/login")

eu coloco código

.permitAll()
        .and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"));

que funciona, porem tenho que inserir usuário e senha duas vezes, a primeira retorna para pagina de login, e só na segunda tentativa o login e realizado e a requisição e encaminhada para pagina de produtos. no entanto no exemplo mostrado no exercício, que por sinal e diferente do utilizado na aula está, conforme código abaixo.


        .defaultSuccessUrl("/produtos").permitAll()
        .and().logout()
        .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
        .permitAll().logoutUrl("/login");

com este código ele não autentica de forma alguma, sempre q insere usuário e senha a requisição e encaminhada novamente para o formulário de login.

o que pode estar acontecendo?

seria bom se atualizassem as aulas de acordo com os exercícios para nao acontecer estes desencontros.

2 respostas
solução!

O problema dessa parte do código é que a última url de acesso foi a do logout e aí, depois que você loga, ele volta para a última url :/. É um bug do spring security mesmo.

Você pode usar o método formLogin(). defaultSuccessUrl(" url",true) para definir uma url de sucesso padrão para sempre.

Vlw alberto