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

Porque o redirecionamento para a home parou de funcionar após adicionar o login?

No arquivo form.jsp tenho o botão que redireciona pra home:

<div class="navbar-header">
                //....
                <a class="navbar-brand" href="${s:mvcUrl('HC#index').build()}">Casa
                    do Código</a>
            </div>

que chama o metodo em HomeController:

@Controller
public class HomeController {
    //...
    @RequestMapping("/")
    @Cacheable(value = "produtosHome")
    public ModelAndView index() {
        List<Produto> produtos = produtoDAO.listar();
        ModelAndView modelAndView = new ModelAndView("home");
        modelAndView.addObject("produtos", produtos);
        return modelAndView;
    }
}

acontece que depois que coloquei a autenticação da esse erro:

HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/springframework/security/web/context/support/SecurityWebApplicationContextUtils

classe SecurityConfiguration:

@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    //...
    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.authorizeRequests()
        .antMatchers("/produtos/form").hasRole("ADMIN")
        .antMatchers("/carrinho/**").permitAll()
        .antMatchers(HttpMethod.GET, "/produtos").permitAll()
        .antMatchers(HttpMethod.POST, "/produtos").hasRole("ADMIN")
        .antMatchers("/produtos/**").permitAll()
        .antMatchers("/resources/**").permitAll()
        .antMatchers("/").permitAll()
        .anyRequest().authenticated()
        .and().formLogin().loginPage("/login").permitAll()
        .and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"));

//metodo configure
    }

Onde estou errando? Antes da autenticação funcionava normalmente.

2 respostas
solução!

Opa, provavelmente para adicionar a autenticação você teve que colocar dependências no pom.xml . Meu chute é que você adicionou dependências com a versão diferente da do curso :(. Tenta copiar exatamente o pom.xml.

Opa era isso mesmo Alberto; é porque no repositorio no video tem uma versão de dependencia e no video tem outra. Obrigado!