Junior — Middle
Tem experiência na implementação de mecanismos de autenticação usando Spring Security?
sobes.tech IA
Resposta da IA
Sim, tenho experiência na implementação de autenticação usando Spring Security. Normalmente, o processo inclui os seguintes passos:
- Configuração do Spring Security para proteger URLs e definir regras de acesso.
- Configuração do mecanismo de autenticação — por exemplo, através de uma base de dados usando
UserDetailsService. - Implementação de uma classe que carrega o usuário e seus papéis.
- Configuração do formulário de login ou outro mecanismo (JWT, OAuth2).
Exemplo de configuração básica com formulário de login:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user")
.password(passwordEncoder().encode("password"))
.roles("USER");
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
Este exemplo mostra uma autenticação simples com um usuário em memória e um formulário de login. Em projetos reais, normalmente é usada uma base de dados e mecanismos mais complexos.