Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-gateway
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-gateway
Commits
28611cc2
提交
28611cc2
authored
10月 22, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
关闭跨域
上级
17e049af
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
49 行增加
和
49 行删除
+49
-49
CorsConfig.java
src/main/java/com/sfa/gateway/CorsConfig.java
+49
-49
没有找到文件。
src/main/java/com/sfa/gateway/CorsConfig.java
浏览文件 @
28611cc2
package
com
.
sfa
.
gateway
;
//package com.sfa.gateway;
//
import
org.springframework.context.annotation.Bean
;
//import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
//import org.springframework.context.annotation.Configuration;
import
org.springframework.http.HttpHeaders
;
//import org.springframework.http.HttpHeaders;
import
org.springframework.http.HttpMethod
;
//import org.springframework.http.HttpMethod;
import
org.springframework.http.HttpStatus
;
//import org.springframework.http.HttpStatus;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
//import org.springframework.http.server.reactive.ServerHttpRequest;
import
org.springframework.http.server.reactive.ServerHttpResponse
;
//import org.springframework.http.server.reactive.ServerHttpResponse;
import
org.springframework.web.cors.reactive.CorsUtils
;
//import org.springframework.web.cors.reactive.CorsUtils;
import
org.springframework.web.server.ServerWebExchange
;
//import org.springframework.web.server.ServerWebExchange;
import
org.springframework.web.server.WebFilter
;
//import org.springframework.web.server.WebFilter;
import
org.springframework.web.server.WebFilterChain
;
//import org.springframework.web.server.WebFilterChain;
import
reactor.core.publisher.Mono
;
//import reactor.core.publisher.Mono;
//
/**
///**
* @author John
// * @author John
* @date 2022/6/27
// * @date 2022/6/27
* @description 跨域配置
// * @description 跨域配置
*/
// */
@Configuration
//@Configuration
public
class
CorsConfig
{
//public class CorsConfig {
@Bean
// @Bean
public
WebFilter
corsFilter
()
{
// public WebFilter corsFilter() {
return
(
ServerWebExchange
ctx
,
WebFilterChain
chain
)
->
{
// return (ServerWebExchange ctx, WebFilterChain chain) -> {
ServerHttpRequest
request
=
ctx
.
getRequest
();
// ServerHttpRequest request = ctx.getRequest();
if
(
CorsUtils
.
isCorsRequest
(
request
))
{
// if (CorsUtils.isCorsRequest(request)) {
HttpHeaders
requestHeaders
=
request
.
getHeaders
();
// HttpHeaders requestHeaders = request.getHeaders();
ServerHttpResponse
response
=
ctx
.
getResponse
();
// ServerHttpResponse response = ctx.getResponse();
HttpMethod
requestMethod
=
requestHeaders
.
getAccessControlRequestMethod
();
// HttpMethod requestMethod = requestHeaders.getAccessControlRequestMethod();
HttpHeaders
headers
=
response
.
getHeaders
();
// HttpHeaders headers = response.getHeaders();
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_ORIGIN
,
requestHeaders
.
getOrigin
());
// headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
headers
.
addAll
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_HEADERS
,
// headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS,
requestHeaders
.
getAccessControlRequestHeaders
());
// requestHeaders.getAccessControlRequestHeaders());
if
(
requestMethod
!=
null
)
{
// if (requestMethod != null) {
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_METHODS
,
requestMethod
.
name
());
// headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());
}
// }
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_CREDENTIALS
,
"true"
);
// headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_EXPOSE_HEADERS
,
"*"
);
// headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "*");
if
(
request
.
getMethod
()
==
HttpMethod
.
OPTIONS
)
{
// if (request.getMethod() == HttpMethod.OPTIONS) {
response
.
setStatusCode
(
HttpStatus
.
OK
);
// response.setStatusCode(HttpStatus.OK);
return
Mono
.
empty
();
// return Mono.empty();
}
// }
}
// }
return
chain
.
filter
(
ctx
);
// return chain.filter(ctx);
};
// };
}
// }
}
//}
\ No newline at end of file
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论