提交 833b6fba 编写于 作者: zhouweidong's avatar zhouweidong

token续期还原

上级 c0f20653
...@@ -20,7 +20,10 @@ import javax.servlet.ServletException; ...@@ -20,7 +20,10 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@Slf4j @Slf4j
@Component @Component
...@@ -32,9 +35,6 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter { ...@@ -32,9 +35,6 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter {
private Set<String> excludesPattern = new HashSet<>(); private Set<String> excludesPattern = new HashSet<>();
private PathMatcher pathMatcher = new AntPathMatcher(); 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) { public AuthorizationTokenFilter(AuthenticationUserService userDetailsService, AuthTokenUtil authTokenUtil, @Value("${ibiz.jwt.header:Authorization}") String tokenHeader) {
this.userDetailsService = userDetailsService; this.userDetailsService = userDetailsService;
this.authTokenUtil = authTokenUtil; this.authTokenUtil = authTokenUtil;
...@@ -80,23 +80,10 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter { ...@@ -80,23 +80,10 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter {
log.info("authorizated user '{}', setting security context", username); log.info("authorizated user '{}', setting security context", username);
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
} }
// 验证token是否濒临过期
if (refreshCheck(authTokenUtil.getExpirationDateFromToken(authToken), System.currentTimeMillis())) {
// 赋予前台一个刷新Token标识
response.setHeader("reflashToken", "true");
}
} }
chain.doFilter(request, response); 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) { public void setExcludesPattern(String excludesPattern) {
this.excludesPattern = new HashSet(Arrays.asList(excludesPattern.split("\\s*,\\s*"))); this.excludesPattern = new HashSet(Arrays.asList(excludesPattern.split("\\s*,\\s*")));
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册