Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
youlai-boot
提交
1ef29a03
Y
youlai-boot
项目概览
有来技术
/
youlai-boot
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
youlai-boot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1ef29a03
编写于
10月 24, 2022
作者:
H
horizons
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 开启CORS资源共享,解决浏览器跨域访问限制
上级
de915714
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
50 addition
and
7 deletion
+50
-7
src/main/java/com/youlai/system/config/CorsConfig.java
src/main/java/com/youlai/system/config/CorsConfig.java
+37
-0
src/main/java/com/youlai/system/config/SecurityConfig.java
src/main/java/com/youlai/system/config/SecurityConfig.java
+2
-3
src/main/java/com/youlai/system/filter/JwtAuthenticationFilter.java
...ava/com/youlai/system/filter/JwtAuthenticationFilter.java
+10
-3
src/main/resources/mapper/SysUserMapper.xml
src/main/resources/mapper/SysUserMapper.xml
+1
-1
未找到文件。
src/main/java/com/youlai/system/config/CorsConfig.java
0 → 100644
浏览文件 @
1ef29a03
package
com.youlai.system.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
import
java.util.Collections
;
/**
* 开启CORS资源共享
*
* @author haoxr
* @date 2022/10/24
*/
@Configuration
public
class
CorsConfig
{
@Bean
public
CorsFilter
corsFilter
()
{
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
//1.允许任何来源
corsConfiguration
.
setAllowedOriginPatterns
(
Collections
.
singletonList
(
"*"
));
//2.允许任何请求头
corsConfiguration
.
addAllowedHeader
(
CorsConfiguration
.
ALL
);
//3.允许任何方法
corsConfiguration
.
addAllowedMethod
(
CorsConfiguration
.
ALL
);
//4.允许凭证
corsConfiguration
.
setAllowCredentials
(
true
);
UrlBasedCorsConfigurationSource
source
=
new
UrlBasedCorsConfigurationSource
();
source
.
registerCorsConfiguration
(
"/**"
,
corsConfiguration
);
return
new
CorsFilter
(
source
);
}
}
src/main/java/com/youlai/system/
security
/SecurityConfig.java
→
src/main/java/com/youlai/system/
config
/SecurityConfig.java
浏览文件 @
1ef29a03
package
com.youlai.system.
security
;
package
com.youlai.system.
config
;
import
com.youlai.system.
security.jwt
.JwtAuthenticationFilter
;
import
com.youlai.system.
filter
.JwtAuthenticationFilter
;
import
com.youlai.system.security.jwt.JwtTokenManager
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -11,7 +11,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
;
import
org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer
;
import
org.springframework.security.config.http.SessionCreationPolicy
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.security.web.SecurityFilterChain
;
...
...
src/main/java/com/youlai/system/
security/jwt
/JwtAuthenticationFilter.java
→
src/main/java/com/youlai/system/
filter
/JwtAuthenticationFilter.java
浏览文件 @
1ef29a03
package
com.youlai.system.
security.jwt
;
package
com.youlai.system.
filter
;
import
cn.hutool.core.util.StrUtil
;
import
com.youlai.system.common.result.ResultCode
;
import
com.youlai.system.security.jwt.JwtTokenManager
;
import
com.youlai.system.util.ResponseUtils
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
/**
* jwt auth token filter.
...
...
@@ -27,8 +31,11 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
}
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
chain
)
{
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
chain
)
throws
ServletException
,
IOException
{
if
(
HttpMethod
.
OPTIONS
.
matches
(
request
.
getMethod
())
){
chain
.
doFilter
(
request
,
response
);
return
;
}
String
jwt
=
resolveToken
(
request
);
if
(
StrUtil
.
isNotBlank
(
jwt
)
&&
SecurityContextHolder
.
getContext
().
getAuthentication
()
==
null
)
{
try
{
...
...
src/main/resources/mapper/SysUserMapper.xml
浏览文件 @
1ef29a03
...
...
@@ -21,7 +21,7 @@
sys_user u
LEFT JOIN sys_dept d ON u.dept_id = d.id
LEFT JOIN sys_user_role sur ON u.id = sur.user_id
LEFT JOIN sys_role r ON ur.role_id = r.id
LEFT JOIN sys_role r ON
s
ur.role_id = r.id
<where>
u.deleted = 0
<if
test=
'queryParams.keywords!=null and queryParams.keywords.trim() neq ""'
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录