Commit 03429938 by chamberone

fix: 解决向后传递参数报错问题

1 parent 0349ba83
...@@ -68,29 +68,23 @@ public class AuthFilter implements GlobalFilter, Ordered { ...@@ -68,29 +68,23 @@ public class AuthFilter implements GlobalFilter, Ordered {
if (StringUtils.isNotEmpty(authToken)) { if (StringUtils.isNotEmpty(authToken)) {
// 查询token对应的用户 // 查询token对应的用户
Object obj = redisService.get(RedisKeyGroup.authToken + ":" + authToken); Object obj = redisService.get(RedisKeyGroup.authToken + ":" + authToken);
log.info("{} {}", authToken, obj);
if (null != obj) { if (null != obj) {
userDTO = (UserLoginDTO) obj; userDTO = (UserLoginDTO) obj;
} }
// Result<?> userResult = userService.getUserInfo(authToken);
// if (ResultEnum.SUCCESS.getCode().equals(userResult.getCode())) {
// userDTO = (UserLoginDTO) userResult.getResult();
// }
} }
if (userDTO == null) { if (userDTO == null) {
log.info("未授权访问{} ip:{}", url, getRemoteIP(exchange)); log.info("未授权访问{} ip:{}", url, getRemoteIP(exchange));
} else { } else {
log.info("用户:{} id:{} 访问{}", userDTO.getAccount(), userDTO.getId(), url); log.info("用户:{} id:{} 访问{}", userDTO.getAccount(), userDTO.getId(), url);
// 获取当前的请求对象信息 // 获取当前的请求对象信息
exchange.getRequest().getHeaders().add("userId", userDTO.getId()); // exchange.getRequest().getHeaders().add("userId", userDTO.getId());
// ServerHttpRequest.Builder builder = exchange.getRequest().mutate(); ServerHttpRequest.Builder builder = exchange.getRequest().mutate();
// // 向header中设置新的key,存储解析好的token对应基本信息 // 向header中设置新的key,存储解析好的token对应基本信息
// builder.header("userId", userDTO.getId()); builder.header("userId", userDTO.getId());
// // 向下游传递 // 向下游传递
// return chain.filter(exchange.mutate().request(builder.build()).build());
Authentication authentication = new UsernamePasswordAuthenticationToken(userDTO.getAccount(), null, null); Authentication authentication = new UsernamePasswordAuthenticationToken(userDTO.getAccount(), null, null);
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
return chain.filter(exchange.mutate().request(builder.build()).build());
} }
return chain.filter(exchange); return chain.filter(exchange);
......
...@@ -93,7 +93,7 @@ public class UserService { ...@@ -93,7 +93,7 @@ public class UserService {
String token = IdUtil.simpleUUID(); String token = IdUtil.simpleUUID();
userDTO.setToken(token); userDTO.setToken(token);
long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS; long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS;
redisService.set(RedisKeyGroup.authToken + ":" + token, userDTO, timestamp); redisService.set(RedisKeyGroup.authToken + ":" + token, userDTO, timestamp / 1000);
return Result.success(userDTO); return Result.success(userDTO);
} else { } else {
return Result.failed("鉴权失败"); return Result.failed("鉴权失败");
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!