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

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

Loading…
Cancel
Save