Amigos, boa noite. Consigo salvar usuários com suas senhas criptografadas (encoder) no banco de dados, mas, não consigo "logar" na aplicação, alguém consegue visualizar o motivo? OBS: abaixo, o código com as linhas comentadas relativas a inclusão de novos usuários para evitar ficar criando usuários novos no banco, mas, independente de comentar ou não, não consigo logar na aplicação.
package br.com.alura.mvc.mudi;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; 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.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.provisioning.InMemoryUserDetailsManager;
@Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource dataSource;
@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"));
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
// UserDetails user =// User.builder() // .username("mario") // .password(encoder.encode("mario")) // .roles("ADM") // .build();
auth
.jdbcAuthentication()
.dataSource(dataSource)
.passwordEncoder(encoder);
// .withUser(user); } }