Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
youlai-mall
提交
f7f35b3a
Y
youlai-mall
项目概览
有来技术
/
youlai-mall
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
youlai-mall
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f7f35b3a
编写于
11月 12, 2022
作者:
H
haoxr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(OAuth2ClientSecurityConfig.java): Spring Cloud Gateway开启CORS资源共享允许跨域
Closes #I60ESM
上级
968042e8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
10 deletion
+23
-10
youlai-gateway/src/main/java/com/youlai/gateway/config/OAuth2ClientSecurityConfig.java
...com/youlai/gateway/config/OAuth2ClientSecurityConfig.java
+23
-10
未找到文件。
youlai-gateway/src/main/java/com/youlai/gateway/config/OAuth2ClientSecurityConfig.java
浏览文件 @
f7f35b3a
package
com.youlai.gateway.config
;
import
cn.hutool.core.convert.Convert
;
import
lombok.Setter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity
;
import
org.springframework.security.config.web.server.ServerHttpSecurity
;
import
org.springframework.security.web.server.SecurityWebFilterChain
;
import
java.util.Arrays
;
import
java.util.List
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.reactive.CorsConfigurationSource
;
import
org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.util.pattern.PathPatternParser
;
/**
...
...
@@ -23,19 +21,34 @@ import java.util.List;
@Slf4j
public
class
OAuth2ClientSecurityConfig
{
@Bean
public
SecurityWebFilterChain
springSecurityFilterChain
(
ServerHttpSecurity
http
)
{
http
.
authorizeExchange
()
.
pathMatchers
(
"/**"
).
permitAll
()
.
anyExchange
().
authenticated
()
.
anyExchange
().
permitAll
()
.
and
()
// 禁用csrf token安全校验
.
csrf
().
disable
();
return
http
.
build
();
}
@Bean
public
CorsConfigurationSource
corsConfigurationSource
()
{
UrlBasedCorsConfigurationSource
source
=
new
UrlBasedCorsConfigurationSource
(
new
PathPatternParser
());
CorsConfiguration
corsConfig
=
new
CorsConfiguration
();
// 允许所有请求方法
corsConfig
.
addAllowedMethod
(
"*"
);
// 允许所有域,当请求头
corsConfig
.
addAllowedOriginPattern
(
"*"
);
// 允许全部请求头
corsConfig
.
addAllowedHeader
(
"*"
);
// 允许携带 Authorization 头
corsConfig
.
setAllowCredentials
(
true
);
// 允许全部请求路径
source
.
registerCorsConfiguration
(
"/**"
,
corsConfig
);
return
source
;
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录