Merge remote-tracking branch 'origin/master'

qianming 3 years ago
commit b1f0e8ca51

@ -50,14 +50,14 @@ public class TokenFilter implements Filter {
HttpServletResponse response = (HttpServletResponse) servletResponse; HttpServletResponse response = (HttpServletResponse) servletResponse;
String uri = request.getRequestURI(); String uri = request.getRequestURI();
if(uri.equals("/")){ if (uri.equals("/")) {
response.sendRedirect("/index.html"); response.sendRedirect("/index.html");
return; return;
} }
// 不需要token验证和权限验证的url直接放行 // 不需要token验证和权限验证的url直接放行
boolean skipAuthenticate = SKIP_AUTHENTICATE_PATTERN.matcher(uri).matches(); boolean skipAuthenticate = SKIP_AUTHENTICATE_PATTERN.matcher(uri).matches();
if(skipAuthenticate){ if (skipAuthenticate) {
filterChain.doFilter(request, response); filterChain.doFilter(request, response);
return; return;
} }
@ -92,7 +92,6 @@ public class TokenFilter implements Filter {
&& !uri.endsWith("/dataSet/testTransform") && !uri.endsWith("/dataSet/testTransform")
&& !uri.endsWith("/reportDashboard/getData") && !uri.endsWith("/reportDashboard/getData")
&& !uri.startsWith("/dict") && !uri.startsWith("/dict")
&& !uri.startsWith("/dict")
) { ) {
//不允许删除 //不允许删除
String method = request.getMethod(); String method = request.getMethod();
@ -115,23 +114,25 @@ public class TokenFilter implements Filter {
Filter.super.destroy(); Filter.super.destroy();
} }
/** /**
*
*
* @param skipUrlList * @param skipUrlList
* @return * @return
*/ */
private Pattern fitByList(List<String> skipUrlList){ private Pattern fitByList(List<String> skipUrlList) {
if(skipUrlList == null || skipUrlList.size() == 0){ if (skipUrlList == null || skipUrlList.size() == 0) {
return Pattern.compile(".*().*"); return Pattern.compile(".*().*");
} }
StringBuffer patternString = new StringBuffer(); StringBuffer patternString = new StringBuffer();
patternString.append(".*("); patternString.append(".*(");
skipUrlList.stream().forEach(url ->{ skipUrlList.stream().forEach(url -> {
patternString.append(url.trim()); patternString.append(url.trim());
patternString.append("|"); patternString.append("|");
}); });
if(skipUrlList.size()>0){ if (skipUrlList.size() > 0) {
patternString.deleteCharAt(patternString.length()-1); patternString.deleteCharAt(patternString.length() - 1);
} }
patternString.append(").*"); patternString.append(").*");

@ -148,21 +148,20 @@ public class AccessUserServiceImpl implements AccessUserService {
// 3.如果该用户登录未过期,这里允许一个用户在多个终端登录 // 3.如果该用户登录未过期,这里允许一个用户在多个终端登录
String tokenKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_TOKEN, loginName); String tokenKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_TOKEN, loginName);
String userKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_USER, loginName);
String token = ""; String token = "";
GaeaUserDto gaeaUser = new GaeaUserDto(); GaeaUserDto gaeaUser = new GaeaUserDto();
if (cacheHelper.exist(tokenKey) && cacheHelper.exist(userKey)) { if (cacheHelper.exist(tokenKey)) {
token = cacheHelper.stringGet(tokenKey); token = cacheHelper.stringGet(tokenKey);
gaeaUser = JSONObject.parseObject(cacheHelper.stringGet(userKey), GaeaUserDto.class); } else {
return gaeaUser; // 生成用户token
String uuid = GaeaUtils.UUID();
token = jwtBean.createToken(loginName, uuid);
cacheHelper.stringSetExpire(tokenKey, token, 3600);
} }
// 4.生成用户token // 4.读取用户最新人权限主信息
String uuid = GaeaUtils.UUID(); String userKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_USER, loginName);
token = jwtBean.createToken(loginName, uuid);
cacheHelper.stringSetExpire(tokenKey, token, 3600);
// 5.缓存用户权限主信息
List<String> authorities = accessUserMapper.queryAuthoritiesByLoginName(loginName); List<String> authorities = accessUserMapper.queryAuthoritiesByLoginName(loginName);
gaeaUser.setLoginName(loginName); gaeaUser.setLoginName(loginName);
gaeaUser.setRealName(accessUser.getRealName()); gaeaUser.setRealName(accessUser.getRealName());
@ -173,4 +172,4 @@ public class AccessUserServiceImpl implements AccessUserService {
return gaeaUser; return gaeaUser;
} }
} }

Loading…
Cancel
Save