安全
CORS
基于安全的原因,浏览器禁止 JavaScript 调用当前 origin 之外的资源。跨域资源共享(CORS)放开了这个限制,支持指定允许哪些跨域请求。
默认情况下,允许所有对 REST API 的 cross-origin 请求。如需限制 origin 列表,可以定义 jmix.cors.allowed-origins 应用程序属性或其他 CORS 属性。
下列 URL 自动使用 CORS 设置:
-
/rest/**
-
/oauth/**
-
jmix.rest.authenticated-url-patterns 属性中定义的 URL pattern。
如需在其他 URL 路径使用 CORS 设置,需要定义下列 bean(可以在主应用程序类中定义):
@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
名称注册一个 bean。此时,上面提到的属性都不会生效。
参阅 Spring Security 文档 了解更多关于 CORS 的内容。
本页是否有帮助?
感谢您的反馈