Sobes.tech
Назад к вопросам
Junior — Middle
63

Поделитесь своим опытом использования Spring Security в проектах.

Компании, где спрашивали
АЙ-ТЕКОАЙ-ТЕКО
Консалтика
Tiqum
AstonAston
айтеко
Северсталь-ИфокомСеверсталь-Ифоком

Ответ от нейросети

sobes.tech AI

В проектах на Spring Security я обычно настраивал аутентификацию и авторизацию пользователей. Например, реализовывал конфигурацию через класс, наследующий WebSecurityConfigurerAdapter (в старых версиях) или используя SecurityFilterChain (в новых версиях).

Часто использовал:

  • HTTP Basic и form-based login
  • Настройку ролей и прав доступа через аннотации @PreAuthorize или через конфигурацию URL
  • Интеграцию с базой данных через UserDetailsService для загрузки пользователей
  • Защиту от CSRF и настройку CORS

Пример конфигурации с SecurityFilterChain:

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .antMatchers("/admin/**").hasRole("ADMIN")
            .anyRequest().authenticated()
        .and()
        .formLogin();
    return http.build();
}

Также использовал JWT для stateless аутентификации, добавляя фильтры для проверки токена в заголовках запросов.