Для настройки межсайтовых запросов (CORS) в Spring Security вам необходимо выполнить несколько шагов.
1. Добавьте зависимость в файл pom.xml вашего проекта:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2. Создайте класс-конфигурацию, реализующий интерфейс WebMvcConfigurer. В этом классе вы должны переопределить метод addCorsMappings(). Пример класса-конфигурации:
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://example.com") // Разрешенный источник .allowedMethods("GET", "POST", "PUT", "DELETE") // Разрешенные HTTP-методы .allowedHeaders("*") // Разрешенные заголовки HTTP .allowCredentials(true) // Разрешить кросс-доменные запросы с использованием аутентификации .maxAge(3600); // Максимальное время жизни предварительных ответов в секундах } }
В этом примере происходит настройка CORS для всех URL-путей («/**»), разрешается доступ только с источника "http://example.com", разрешены методы GET, POST, PUT и DELETE, разрешены все заголовки HTTP, разрешены кросс-доменные запросы с использованием аутентификации, и максимальное время жизни предварительных ответов установлено в 3600 секунд.
3. Включите поддержку CORS в подключении Spring Security. Для этого вам нужно создать класс конфигурации, расширяющий WebSecurityConfigurerAdapter, и переопределить метод configure(HttpSecurity http). Пример класса конфигурации:
@Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and().csrf().disable(); } }
В этом примере включена поддержка CORS (http.cors()) и отключена защита от CSRF (что обычно требуется при использовании CORS).
4. Теперь вы можете запустить ваше приложение и проверить, что CORS настроен правильно.
Важно отметить, что CORS работает на уровне браузера, поэтому проверьте настройки браузера, чтобы убедиться, что он не блокирует запросы к серверу из-за политики безопасности CORS.
Добавление этих настроек в ваш проект Spring Security позволит настроить CORS для вашего приложения на основе ваших требований.