Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
833b6fba
提交
833b6fba
编写于
4年前
作者:
zhouweidong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
token续期还原
上级
c0f20653
变更
1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
4 行增加
和
17 行删除
+4
-17
AuthorizationTokenFilter.java
...va/cn/ibizlab/util/security/AuthorizationTokenFilter.java
+4
-17
未找到文件。
ibzuaa-util/src/main/java/cn/ibizlab/util/security/AuthorizationTokenFilter.java
浏览文件 @
833b6fba
...
...
@@ -20,7 +20,10 @@ import javax.servlet.ServletException;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.Set
;
@Slf4j
@Component
...
...
@@ -32,9 +35,6 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter {
private
Set
<
String
>
excludesPattern
=
new
HashSet
<>();
private
PathMatcher
pathMatcher
=
new
AntPathMatcher
();
@Value
(
"${ibiz.jwt.deadLine:1800000}"
)
private
Long
deadLine
;
public
AuthorizationTokenFilter
(
AuthenticationUserService
userDetailsService
,
AuthTokenUtil
authTokenUtil
,
@Value
(
"${ibiz.jwt.header:Authorization}"
)
String
tokenHeader
)
{
this
.
userDetailsService
=
userDetailsService
;
this
.
authTokenUtil
=
authTokenUtil
;
...
...
@@ -80,23 +80,10 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter {
log
.
info
(
"authorizated user '{}', setting security context"
,
username
);
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
}
// 验证token是否濒临过期
if
(
refreshCheck
(
authTokenUtil
.
getExpirationDateFromToken
(
authToken
),
System
.
currentTimeMillis
()))
{
// 赋予前台一个刷新Token标识
response
.
setHeader
(
"reflashToken"
,
"true"
);
}
}
chain
.
doFilter
(
request
,
response
);
}
private
boolean
refreshCheck
(
Date
expirationDate
,
Long
currentTimeMillis
)
{
// 还剩一个小时的时间就返回true
if
(
currentTimeMillis
-
expirationDate
.
getTime
()
>=
deadLine
)
{
return
true
;
}
return
false
;
}
public
void
setExcludesPattern
(
String
excludesPattern
)
{
this
.
excludesPattern
=
new
HashSet
(
Arrays
.
asList
(
excludesPattern
.
split
(
"\\s*,\\s*"
)));
}
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录