|
|
@@ -31,6 +31,7 @@ import org.springframework.cloud.gateway.filter.GatewayFilterChain;
|
|
|
import org.springframework.cloud.gateway.filter.GlobalFilter;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.core.Ordered;
|
|
|
+import org.springframework.http.HttpMethod;
|
|
|
import org.springframework.http.server.reactive.ServerHttpRequest;
|
|
|
import org.springframework.web.server.ServerWebExchange;
|
|
|
import reactor.core.publisher.Mono;
|
|
|
@@ -95,8 +96,10 @@ public class AuthFilter implements GlobalFilter, Ordered {
|
|
|
RedisUtil.del(key);
|
|
|
}
|
|
|
}
|
|
|
- // 公司状态为已锁定
|
|
|
- CompanyLockCache.assertNotLocked(jwt.getCompanyId());
|
|
|
+ if (!isReadRequest(exchange.getRequest())) {
|
|
|
+ // 公司状态为已锁定,不允许写操作,只允许读
|
|
|
+ CompanyLockCache.assertNotLocked(jwt.getCompanyId());
|
|
|
+ }
|
|
|
|
|
|
BaseContextHolder.setAppId(jwt.getAppId());
|
|
|
BaseContextHolder.setUserId(jwt.getUserId());
|
|
|
@@ -212,4 +215,15 @@ public class AuthFilter implements GlobalFilter, Ordered {
|
|
|
public int getOrder() {
|
|
|
return -100;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否读请求
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean isReadRequest(ServerHttpRequest request) {
|
|
|
+ return HttpMethod.GET == request.getMethod() ||
|
|
|
+ HttpMethod.OPTIONS == request.getMethod();
|
|
|
+ }
|
|
|
}
|