From 2df97baa3a8b176190cbc707c61a8897a6169ee3 Mon Sep 17 00:00:00 2001 From: weiyachao <13526234727@126.com> Date: Fri, 22 Sep 2023 10:17:59 +0800 Subject: [PATCH] getway --- .../qiuguo/iot/gateway/filter/AuthFilter.java | 47 ++++++++++--------- iot-gateway/src/main/resources/bootstrap.yml | 25 ++++++++-- .../src/main/resources/bootstrap.yml | 1 + 3 files changed, 45 insertions(+), 28 deletions(-) diff --git a/iot-gateway/src/main/java/com/qiuguo/iot/gateway/filter/AuthFilter.java b/iot-gateway/src/main/java/com/qiuguo/iot/gateway/filter/AuthFilter.java index 3d9791d..bfcb409 100644 --- a/iot-gateway/src/main/java/com/qiuguo/iot/gateway/filter/AuthFilter.java +++ b/iot-gateway/src/main/java/com/qiuguo/iot/gateway/filter/AuthFilter.java @@ -36,29 +36,30 @@ public class AuthFilter implements GlobalFilter, Ordered { @Override public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { ServerHttpRequest request = exchange.getRequest(); - String url = request.getURI().toString(); - if (xssProperties.getExcludeUrls().contains(url)) { - return chain.filter(exchange); - } - - String api_token = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TOKEN); - String api_type = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TYPE); - if (ObjectUtils.isEmpty(api_token) || ObjectUtils.isEmpty(api_type)) { - return Mono.error(new RuntimeException("未登录")); - } - String key = RedisConstans.IOT_TOKEN.concat(api_token); - return reactiveRedisTemplate.getExpire(key).map(Duration::getSeconds).flatMap(ttl -> { - if (ttl == -1) { - // 用户没登陆 - return Mono.error(new RuntimeException("未登录")); - } else if (ttl <= 3600) { - // token 将要失效 - return reactiveRedisTemplate.expire(key, Duration.ofDays(7)).then(chain.filter(exchange)); - } else { - // 正常登录 - return chain.filter(exchange); - } - }); + String url = request.getPath().toString(); + return chain.filter(exchange); + // if (xssProperties.getExcludeUrls().contains(url)) { + // return chain.filter(exchange); + // } + // + // String api_token = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TOKEN); + // String api_type = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TYPE); + // if (ObjectUtils.isEmpty(api_token) || ObjectUtils.isEmpty(api_type)) { + // return Mono.error(new RuntimeException("未登录")); + // } + // String key = RedisConstans.IOT_TOKEN.concat(api_token); + // return reactiveRedisTemplate.getExpire(key).map(Duration::getSeconds).flatMap(ttl -> { + // if (ttl == -1) { + // // 用户没登陆 + // return Mono.error(new RuntimeException("未登录")); + // } else if (ttl <= 3600) { + // // token 将要失效 + // return reactiveRedisTemplate.expire(key, Duration.ofDays(7)).then(chain.filter(exchange)); + // } else { + // // 正常登录 + // return chain.filter(exchange); + // } + // }); } diff --git a/iot-gateway/src/main/resources/bootstrap.yml b/iot-gateway/src/main/resources/bootstrap.yml index b854733..ffc7f23 100644 --- a/iot-gateway/src/main/resources/bootstrap.yml +++ b/iot-gateway/src/main/resources/bootstrap.yml @@ -1,5 +1,5 @@ server: - port: 8080 + port: 8081 spring: profiles: # 环境配置 @@ -38,6 +38,20 @@ spring: # 允许跨域请求里的head字段,设置*为全部 allowedHeaders: "*" routes: +# # 系统服务 +# - id: qiuguo-iot-box-user-api +# # 匹配后路由地址 +# uri: lb://qiuguo-iot-box-user-api +# # 断言,路径相匹配的进行路由 +# predicates: +# - Path=/qiuguo-iot-box-user-api/** +# filters: +# # 转发时去掉一层路径 +# - StripPrefix=1 + - id: qiuguo-iot-box-user-api + uri: http://192.168.8.199:8080 + predicates: + - Path=/iot-user/** # 安全配置 security: @@ -46,8 +60,9 @@ security: enabled: true # 排除的路径 exclude-urls: - - /ehs-audit/web/audit-content -application: - cors: - allowed-crigin-patterns: + - /iot-user/user/user/login/pwd +#application: +# cors: +# allowed-crigin-patterns: +# - /iot-user/user/user/login/pwd diff --git a/iot-modules/iot-box-user-api/src/main/resources/bootstrap.yml b/iot-modules/iot-box-user-api/src/main/resources/bootstrap.yml index cb01af0..f811501 100644 --- a/iot-modules/iot-box-user-api/src/main/resources/bootstrap.yml +++ b/iot-modules/iot-box-user-api/src/main/resources/bootstrap.yml @@ -1,5 +1,6 @@ server: port: 8080 + spring: profiles: # 环境配置