3
respostas

Não consigo fazer Login pelo template

Se eu utilizar a forma como o HttpBasic() onde aparece o pop-up eu consigo autenticar, porém se eu tentar pelo template ele fica me mandando para "/login?error", só que não informa qual o erro. Imagem da classe que gerencia a autenticaçãoTambém não entendo pq não carrega imagem que esta dentro da pasta static. Erro que não me permite fazer login

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
3 respostas

Sobre ver o erro, teria como tentar abrir o depurador do browser ou o console, lá deve aparecer o erro. O meu código está funcionando e não está exatamente igual ao seu.

@Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests((requests) -> requests
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
            )
            .formLogin((form) -> form
                .loginPage("/login")
                .permitAll()
            )
            .logout((logout) -> logout.permitAll());

        return http.build();
    }

o restante está igual.

Obrigado pela disponibilidade mas mesmo com esse código também não funciona, e não aparece nada no console do navegador e não sei como tentar depurar pelo console da IDE, até tentei colocar algumas properties mas não consegui entender o que elas falam.

Imagem mostrando o erro que aparece com as properties ativadas

O problema pode ser porque o spring pode estar tentando acessar rotas padrão que não existem na sua aplicação. Logo, não estaria encontrando e indo para esta login?erro.

Tenta alterar a rota padrão pós o login do spring com o defaultSucessUrl e veja se resolve. Exemplo:

  .formLogin((form) -> form
    .loginPage("/login")
    .defaultSuccessUrl("/SuaHomeAqui",true)
    .permitAll()
  )

Assim, quando fizer o login, você será encaminhado para a rota descrita no defaultSucessUrl. Nesse caso seria a /SuaHomeAqui.