getway
This commit is contained in:
parent
6f1a085a76
commit
2df97baa3a
@ -36,29 +36,30 @@ public class AuthFilter implements GlobalFilter, Ordered {
|
||||
@Override
|
||||
public Mono<Void> 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);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
server:
|
||||
port: 8080
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
# 环境配置
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user