Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.

Caso mais alguem esteja passando por este erro, a solução é Desabilitar o CRSF (cross-site request forgery) com Spring Security, que é o que causa o erro** (type=Forbidden, status=403).**

Isso foi explicado na aula:

02.Provedor de Autenticação

2.4 -Associando o usuário ao pedido

Porém, eu não estava implementado o método da forma correta, e segui com o curso. Foi quando o instrutor disponibilizou o projeto da aula anterior em:

07.Monitoramento com interceptadores

e fui batendo trecho a trecho de código e vi que na Classe WebSecurityConfig o método csrf estava sendo chamado dentro do método configure:

package br.com.alura.mvc.mudi;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private DataSource dataSource;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/home/**")
                .permitAll()
                .anyRequest()
                .authenticated()
                .and()
                .formLogin(form -> form
                        .loginPage("/login")
                        .defaultSuccessUrl("/usuario/pedido", true)
                        .permitAll()
                )
                .logout(logout -> {
                    logout.logoutUrl("/logout")
                            .logoutSuccessUrl("/home");
                }).csrf().disable();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        auth
                .jdbcAuthentication()
                .dataSource(dataSource)
                .passwordEncoder(encoder);
    }
}
1 resposta
solução!

Resolvendo todos os problemas