Junior — Middle
Czy masz doświadczenie w implementacji mechanizmów uwierzytelniania z użyciem Spring Security?
sobes.tech AI
Odpowiedź od AI
Tak, mam doświadczenie w implementacji uwierzytelniania z użyciem Spring Security. Zazwyczaj proces obejmuje następujące kroki:
- Konfiguracja Spring Security w celu ochrony URL-i i określenia reguł dostępu.
- Konfiguracja mechanizmu uwierzytelniania — na przykład przez bazę danych z użyciem
UserDetailsService. - Implementacja klasy, która ładuje użytkownika i jego role.
- Konfiguracja formularza logowania lub innego mechanizmu (JWT, OAuth2).
Przykład podstawowej konfiguracji z formularzem logowania:
@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();
}
}
Ten przykład pokazuje prostą autentykację z użytkownikiem w pamięci i formularzem logowania. W rzeczywistych projektach zwykle używa się bazy danych i bardziej złożonych mechanizmów.