|
|
@@ -93,6 +93,21 @@ public class AuthenticationFilter implements GlobalFilter, Ordered {
|
|
|
String requestUri = request.getPath().value();
|
|
|
/*1、非token校验接口放行*/
|
|
|
if (EXCLUDEPATH.contains(requestUri)) {
|
|
|
+ Map<String, Object> tokenMap = EncryUtil.descryV2(Global.PRI_KEY, token);
|
|
|
+ if (tokenMap != null) {
|
|
|
+ Long userId = StringUtils.isNotBlank(tokenMap.get("userId")) ? NumberUtils.parseLong(tokenMap.get("userId")) : null;
|
|
|
+ String key = Global.getFullUserLoginKey(systemType, userId);
|
|
|
+
|
|
|
+ String userInfoStr = RedissonUtils.getString(key);
|
|
|
+ LoginUserInfo loginUserInfo = StringUtils.isNotBlank(userInfoStr) ? com.alibaba.fastjson.JSON.parseObject(userInfoStr, LoginUserInfo.class) : null;
|
|
|
+ if (Objects.nonNull(loginUserInfo)) {
|
|
|
+ loginUserInfo.setClientType(clientType);
|
|
|
+ String loginEntStr = RedissonUtils.getString(Global.getFullUserEntKey(loginUserInfo.getEntId()));
|
|
|
+ LoginEntInfo loginEntInfo = StringUtils.isNotBlank(loginEntStr) ? com.alibaba.fastjson.JSON.parseObject(loginEntStr, LoginEntInfo.class) : null;
|
|
|
+ ServerWebExchange build = buildNewExchange(exchange,loginUserInfo,loginEntInfo);
|
|
|
+ return chain.filter(build);
|
|
|
+ }
|
|
|
+ }
|
|
|
return chain.filter(exchange);
|
|
|
}
|
|
|
|