|
@@ -3,6 +3,7 @@ package cn.kdan.compdf.filter;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.kdan.compdf.base.R;
|
|
|
import cn.kdan.compdf.config.JwtConfig;
|
|
|
+import cn.kdan.compdf.config.MyRedisConstant;
|
|
|
import cn.kdan.compdf.dto.LoginUser;
|
|
|
import cn.kdan.compdf.dto.LoginUserDTO;
|
|
|
import cn.kdan.compdf.enums.AuthEnum;
|
|
@@ -29,6 +30,7 @@ import org.springframework.web.server.ServerWebExchange;
|
|
|
import reactor.core.publisher.Mono;
|
|
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.function.Consumer;
|
|
|
|
|
|
/**
|
|
@@ -48,15 +50,6 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
|
|
|
@Override
|
|
|
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
|
|
// 1、判断放行请求地址(登录接口)
|
|
|
- String requestPath = exchange.getRequest().getPath().toString();
|
|
|
- // 登录
|
|
|
- if (requestPath.equals("/user-api/v1/user/login")) {
|
|
|
- return chain.filter(exchange);
|
|
|
- }
|
|
|
-// // 修改密码
|
|
|
-// if (requestPath.equals("/user-api/v1/user/changePassword")) {
|
|
|
-// return chain.filter(exchange);
|
|
|
-// }
|
|
|
|
|
|
// 2、获取请求头jwt
|
|
|
String authorization = exchange.getRequest().getHeaders().getFirst(AuthEnum.AUTHORIZATION);
|
|
@@ -70,7 +63,6 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
|
|
|
DataBuffer dataBuffer = response.bufferFactory().allocateBuffer().write(fastResult.getBytes(StandardCharsets.UTF_8));
|
|
|
return response.writeWith(Mono.just(dataBuffer));
|
|
|
}
|
|
|
-// authorization = authorization.replaceFirst("Bearer ","");
|
|
|
|
|
|
// 3、解析
|
|
|
try {
|
|
@@ -86,19 +78,19 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
|
|
|
DataBuffer dataBuffer = response.bufferFactory().allocateBuffer().write(fastResult.getBytes(StandardCharsets.UTF_8));
|
|
|
return response.writeWith(Mono.just(dataBuffer));
|
|
|
}
|
|
|
- // 信息为空创建新用户
|
|
|
- if(ObjectUtil.isEmpty(r.getData())){
|
|
|
- r = userFeign.creatUser(loginUser);
|
|
|
- if (!"200".equals(r.getCode())){
|
|
|
- ServerHttpResponse response = exchange.getResponse();
|
|
|
- response.setStatusCode(HttpStatus.OK);
|
|
|
- // 改变响应的类型
|
|
|
- response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
|
|
|
- String fastResult = JSON.toJSONString(new BusinessException(ResponseEnum.SYSTEM_ERROR));
|
|
|
- DataBuffer dataBuffer = response.bufferFactory().allocateBuffer().write(fastResult.getBytes(StandardCharsets.UTF_8));
|
|
|
- return response.writeWith(Mono.just(dataBuffer));
|
|
|
- }
|
|
|
- }
|
|
|
+// // 信息为空创建新用户
|
|
|
+// if(ObjectUtil.isEmpty(r.getData())){
|
|
|
+// r = userFeign.creatUser(loginUser);
|
|
|
+// if (!"200".equals(r.getCode())){
|
|
|
+// ServerHttpResponse response = exchange.getResponse();
|
|
|
+// response.setStatusCode(HttpStatus.OK);
|
|
|
+// // 改变响应的类型
|
|
|
+// response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
|
|
|
+// String fastResult = JSON.toJSONString(new BusinessException(ResponseEnum.SYSTEM_ERROR));
|
|
|
+// DataBuffer dataBuffer = response.bufferFactory().allocateBuffer().write(fastResult.getBytes(StandardCharsets.UTF_8));
|
|
|
+// return response.writeWith(Mono.just(dataBuffer));
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
// redie验证token是否过期
|
|
|
Boolean flag = redisTemplate.hasKey(AuthEnum.USER_TOKEN_REDIS + r.getData().getUsername());
|