CORS

Из соображений безопасности браузеры не разрешают сетевые вызовы JavaScript к ресурсам за пределами текущего источника. Cross-Origin Resource Sharing или CORS снимает это ограничение, поскольку позволяет указать разрешенные междоменные запросы.

По умолчанию все запросы к REST API из разных источников разрешены. Чтобы ограничить список источников, определите свойство приложения jmix.cors.allowed-origins и другие свойства CORS.

Настройки CORS автоматически применяются к следующим URL-адресам:

Если вы хотите применить настройки CORS к другому URL-адресу, определите следующий бин (это можно сделать в основном классе приложения):

@Bean
public WebSecurityConfigurerAdapter mySecurityConfigurerAdapter() {
    return new WebSecurityConfigurerAdapter() {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                    .requestMatchers(requestMatchers ->
                            requestMatchers.antMatchers("/myapi/hello")
                    )
                    .cors(Customizer.withDefaults())
                    .authorizeRequests(authorize ->
                            authorize.anyRequest().permitAll()
                    );
        }
    };
}

Чтобы заменить предоставленную Jmix конфигурацию CORS по умолчанию, зарегистрируйте бин с именем corsConfigurationSource в своем проекте. В этом случае упомянутые выше свойства работать не будут.

Дополнительные сведения о CORS см. в документации по безопасности Spring.