Não deu certo, ao clicar em sair, faço o logout, ao realizar o login novamente, ele direciona para login.
Segue os controllers homecontroller, login e logout, e a classe security.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/produtos/form").hasRole("ADMIN")
.antMatchers("/carrinho/**").permitAll()
.antMatchers(HttpMethod.POST, "/produtos").hasRole("ADMIN")
.antMatchers(HttpMethod.GET, "/produtos").permitAll()
.antMatchers("/produtos/**").permitAll() // o que vier para frente **
.antMatchers("/").permitAll() // permite acessar a home
.antMatchers("/resources/**").permitAll()
.anyRequest().authenticated() // toda requisição vai verificar se está autenticado
.and().formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/")
.and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")); // se nao tiver vai soliciar o login;
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(usuarioDAO).passwordEncoder(new BCryptPasswordEncoder());
}
package br.com.casadocodigo.loja.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class LogoutController {
@RequestMapping(value="/logout", method = RequestMethod.GET)
public String logout(){
return "logout";
}
}
package br.com.casadocodigo.loja.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class LoginController {
@RequestMapping(value="/login", method=RequestMethod.GET)
public String loginForm(){
return "loginForm";
}
}
package br.com.casadocodigo.loja.controllers;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import br.com.casadocodigo.loja.Daos.ProdutoDao;
import br.com.casadocodigo.loja.models.Produto;
@Controller
public class HomeController {
@Autowired
private ProdutoDao produtoDao;
@RequestMapping("/")
@Cacheable(value = "produtoHome")
public ModelAndView index() {
List<Produto> produtos = produtoDao.listar();
ModelAndView modelAndView = new ModelAndView("home");
modelAndView.addObject("produtos", produtos);
return modelAndView;
}
}