Depois q implementei o metodo Logout eu n consigo mais fazer login, sempre q eu coloco as credenciais volta pra mesma pagina mas tudo em branco. olhando nas outras duvidas vi para colocar o .defaultSuccessUrl("/home", true) e mesmo colocando ainda ta dando a mesma coisa.
Meu WebSecurityConfig
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin(form -> form
.loginPage("/login")
.defaultSuccessUrl("/home", true)
.permitAll()
).logout(logout -> logout.logoutUrl("/logout")
).csrf().disable();
}
@Bean
@Override
public UserDetailsService userDetailsService() {
UserDetails user = User.withDefaultPasswordEncoder()
.username("joao")
.password("joao")
.roles("ADM")
.build();
return new InMemoryUserDetailsManager(user);
}
HomeController
@Controller
@RequestMapping("/home")
public class HomeController {
@Autowired
private PedidoRepository pedidoRepository;
@GetMapping()
public String home(Model model) {
List<Pedido> pedidos = pedidoRepository.findAll();
model.addAttribute("pedidos", pedidos);
return "home";
}
@GetMapping("/{status}")
public String porStatus(@PathVariable("status") String status, Model model) {
List<Pedido> pedidos = pedidoRepository.findByStatus(StatusPedido.valueOf(status.toUpperCase()));
model.addAttribute("status", status);
model.addAttribute("pedidos", pedidos);
return "home";
}
@ExceptionHandler(IllegalArgumentException.class)
public String onError() {
return "redirect:/home";
}
}
LoginController
@Controller
public class LoginController {
@GetMapping
@RequestMapping("/login")
public String login() {
return "login";
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>br.com.alura.mvc</groupId>
<artifactId>mudi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mudi</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>