Explorar el Código

权限校验统一过期校验

qiubo hace 4 años
padre
commit
87e0ea94fe
Se han modificado 34 ficheros con 151 adiciones y 54 borrados
  1. 15 0
      carbon-back/carbon-back-service/pom.xml
  2. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/component/BindingResultAspect.java
  3. 2 0
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/BaseDictionaryController.java
  4. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/BasePositionController.java
  5. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CollectiveFarmerController.java
  6. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CompanyController.java
  7. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CustomerCompanyTypeController.java
  8. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CustomerInfoController.java
  9. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/FarmerInfoController.java
  10. 4 2
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/GoodsInfoController.java
  11. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/OrderDetailController.java
  12. 3 2
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/OrderInfoController.java
  13. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PayApplyController.java
  14. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PayVoucherController.java
  15. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PovertyAreaController.java
  16. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/ProductInfoController.java
  17. 1 1
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/ProductTypeController.java
  18. 4 4
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/system/config/Swagger2Config.java
  19. 8 7
      carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/system/controller/token/TokenController.java
  20. 2 2
      carbon-back/carbon-back-service/src/main/resources/bootstrap.yml
  21. 10 0
      carbon-bank/carbon-bank-common/pom.xml
  22. 9 0
      carbon-bank/carbon-bank-common/src/main/java/com/hcloud/microserver/bank/carbon/client/BankClearService.java
  23. 29 0
      carbon-bank/carbon-bank-common/src/main/java/com/hcloud/microserver/bank/carbon/fallback/BankClearFallbackFactory.java
  24. 18 5
      carbon-gateway/src/main/java/com/hcloud/microserver/gateway/filter/AuthGlobalFilter.java
  25. 3 3
      carbon-gateway/src/main/resources/bootstrap.yml
  26. 2 2
      carbon-h5/carbon-h5-service/src/main/resources/bootstrap.yml
  27. 0 4
      carbon-security/src/main/java/com/hcloud/microserver/security/config/NoRedisConfig.java
  28. 23 2
      carbon-security/src/main/java/com/hcloud/microserver/security/service/TokenService.java
  29. 1 1
      common-core/src/main/java/com/hcloud/microserver/commoncore/constant/Constants.java
  30. 2 2
      common-core/src/main/java/com/hcloud/microserver/commoncore/filter/HttpRequestMyFilter.java
  31. 1 1
      carbon-security/src/main/java/com/hcloud/microserver/security/redis/FastJson2JsonRedisSerializer.java
  32. 1 1
      carbon-security/src/main/java/com/hcloud/microserver/security/redis/RedisConfig.java
  33. 1 1
      nacos/conf/application.properties
  34. 0 2
      nacos/data/naming/meta.properties

+ 15 - 0
carbon-back/carbon-back-service/pom.xml

@@ -116,4 +116,19 @@
         </dependency>
 
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/component/BindingResultAspect.java

@@ -18,7 +18,7 @@ import org.springframework.validation.FieldError;
 @Component
 @Order(2)
 public class BindingResultAspect {
-    @Pointcut("execution(public * com.hwrj.cloud.admin.controller.*.*(..))")
+    @Pointcut("execution(public * com.hcloud.microserver.*.controller.*.*(..))")
     public void BindingResult() {
     }
 

+ 2 - 0
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/BaseDictionaryController.java

@@ -6,6 +6,7 @@ import com.hcloud.microserver.commoncore.base.ResponseBase;
 import com.hcloud.microserver.commoncore.util.BeanCopyUtil;
 import com.hcloud.microserver.facade.carbon.entity.BaseDictionary;
 import com.hcloud.microserver.facade.carbon.forms.BaseDictionaryForm;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -16,6 +17,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/web/dic")
+@Api(tags = "字典信息管理",description = "字典信息管理")
 public class BaseDictionaryController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/BasePositionController.java

@@ -19,7 +19,7 @@ import java.util.List;
 @Slf4j
 @RestController
 @RequestMapping("/web/position")
-@Api(description = "基本区域信息管理服务")
+@Api(tags = "基本区域信息管理服务",description = "基本区域信息管理服务")
 public class BasePositionController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CollectiveFarmerController.java

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/web/collectiveFarmer")
-@Api(description = "集体农户信息管理服务")
+@Api(tags = "集体农户信息管理服务",description = "集体农户信息管理服务")
 public class CollectiveFarmerController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CompanyController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Slf4j
 @RestController
 @RequestMapping("/web/company")
-@Api(description = "企业信息管理服务")
+@Api(tags = "企业信息管理服务",description = "企业信息管理服务")
 public class CompanyController extends BaseController {
 
 

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CustomerCompanyTypeController.java

@@ -17,7 +17,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/customerCompanyType")
-@Api(description = "企业类型管理")
+@Api(tags = "企业类型管理",description = "企业类型管理")
 public class CustomerCompanyTypeController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/CustomerInfoController.java

@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/web/customer")
-@Api(description = "管理端客户服务")
+@Api(tags = "管理端客户服务",description = "管理端客户服务")
 public class CustomerInfoController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/FarmerInfoController.java

@@ -15,7 +15,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/web/farmer")
-@Api(description = "农户信息管理服务")
+@Api(tags = "农户信息管理服务",description = "农户信息管理服务")
 public class FarmerInfoController extends BaseController {
 
     @Autowired

+ 4 - 2
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/GoodsInfoController.java

@@ -26,7 +26,7 @@ import java.util.Objects;
  */
 @RestController
 @RequestMapping("/web/goods")
-@Api(description = "商品信息管理服务")
+@Api(tags = "商品信息管理服务",description = "商品信息管理服务")
 public class GoodsInfoController extends BaseController {
 
     @Autowired
@@ -39,7 +39,9 @@ public class GoodsInfoController extends BaseController {
         if (success>0){
             return responseResultSuccess();
         }
-        return responseResultFailure();    }
+
+        return responseResultFailure();
+    }
 
     @ApiOperation("商品删除")
     @PostMapping("/delete")

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/OrderDetailController.java

@@ -16,7 +16,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/web/orderDetail")
-@Api(tags = "OrderDetailController",description = "订单详细信息管理")
+@Api(tags = "订单详细信息管理",description = "订单详细信息管理")
 public class OrderDetailController extends BaseController {
 
     @Autowired

+ 3 - 2
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/OrderInfoController.java

@@ -1,6 +1,7 @@
 package com.hcloud.microserver.bank.controller;
 
 import com.github.pagehelper.PageInfo;
+import com.hcloud.microserver.bank.bo.OrderInfoBO;
 import com.hcloud.microserver.bank.service.OrderInfoService;
 import com.hcloud.microserver.commoncore.base.BaseController;
 import com.hcloud.microserver.commoncore.base.ResponseBase;
@@ -15,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/web/order")
-@Api(description = "订单信息管理服务")
+@Api(tags = "订单信息管理服务",description = "订单信息管理服务")
 public class OrderInfoController extends BaseController {
 
     @Autowired
@@ -23,7 +24,7 @@ public class OrderInfoController extends BaseController {
 
     @ApiOperation("分页查询订单信息")
     @PostMapping("/searchByPage")
-    public ResponseBase searchByPage(@RequestBody GoodsOrderInfoForm goodsOrderInfoForm) {
+    public ResponseBase<OrderInfoBO> searchByPage(@RequestBody GoodsOrderInfoForm goodsOrderInfoForm) {
         PageInfo pageInfo = orderInfoService.searchOrderInfoByPage(goodsOrderInfoForm);
         return responseSuccess(pageInfo);
     }

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PayApplyController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/web/payApply")
-@Api(tags = "PayApplyController",description = "订单支付信息管理")
+@Api(tags = "订单支付信息管理",description = "订单支付信息管理")
 public class PayApplyController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PayVoucherController.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/web/voucher")
-@Api(tags = "PayVoucherController",description = "离线支付凭证")
+@Api(tags = "离线支付凭证",description = "离线支付凭证")
 public class PayVoucherController extends BaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/PovertyAreaController.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
 @Slf4j
 @RestController
 @RequestMapping("/web/area")
-@Api(description = "贫困区域管理服务")
+@Api(tags = "贫困区域管理服务",description = "贫困区域管理服务")
 public class PovertyAreaController extends CarbonBaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/ProductInfoController.java

@@ -27,7 +27,7 @@ import java.util.Objects;
 @Slf4j
 @RestController
 @RequestMapping("/web/product")
-@Api(description = "产品信息管理服务")
+@Api(tags = "产品信息管理服务",description = "产品信息管理服务")
 public class ProductInfoController extends CarbonBaseController {
 
     @Autowired

+ 1 - 1
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/bank/controller/ProductTypeController.java

@@ -22,7 +22,7 @@ import java.util.List;
 @Slf4j
 @RestController
 @RequestMapping("/web/productType")
-@Api(description = "产品类型信息管理服务")
+@Api(tags = "产品类型信息管理服务",description = "产品类型信息管理服务")
 public class ProductTypeController extends CarbonBaseController {
 
     @Autowired

+ 4 - 4
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/system/config/Swagger2Config.java

@@ -31,7 +31,7 @@ public class Swagger2Config {
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())
                 .select()
-                .apis(RequestHandlerSelectors.basePackage("com.hwrj.cloud.admin.controller"))
+                .apis(RequestHandlerSelectors.basePackage("com.hcloud.microserver.bank.controller"))
                 .paths(PathSelectors.any())
                 .build()
                 .securitySchemes(securitySchemes())
@@ -40,9 +40,9 @@ public class Swagger2Config {
 
     private ApiInfo apiInfo() {
         return new ApiInfoBuilder()
-                .title("mall后台系统")
-                .description("mall后台模块")
-                .contact(new Contact("macro","",""))
+                .title("重庆碳汇后台管理模块")
+                .description("后台管理模块")
+                .contact(new Contact("carbon","",""))
                 .version("1.0")
                 .build();
     }

+ 8 - 7
carbon-back/carbon-back-service/src/main/java/com/hcloud/microserver/system/controller/token/TokenController.java

@@ -12,10 +12,7 @@ import com.hcloud.microserver.system.service.LoginUserManagerCacheService;
 import com.hcloud.microserver.system.service.impl.SysLoginService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
@@ -26,6 +23,7 @@ import java.util.Map;
  * @author ruoyi
  */
 @RestController
+@RequestMapping("/user")
 public class TokenController
 {
     @Autowired
@@ -42,7 +40,7 @@ public class TokenController
 
     @Autowired
     private RedisService systemRedisService;
-    @PostMapping("login")
+    @PostMapping("/login")
     public R<?> login(@RequestBody LoginBody form)
     {
         // 用户登录
@@ -55,7 +53,7 @@ public class TokenController
         return R.ok(tokenService.createCarbonToken(userInfo));
     }
 
-    @DeleteMapping("logout")
+    @DeleteMapping("/logout")
     public R<?> logout(HttpServletRequest request)
     {
         LoginUser loginUser = tokenService.getLoginUser(request);
@@ -72,7 +70,7 @@ public class TokenController
         return R.ok();
     }
 
-    @PostMapping("refresh")
+    @PostMapping("/refresh")
     public R<?> refresh(HttpServletRequest request)
     {
         LoginUser loginUser = tokenService.getLoginUser(request);
@@ -80,6 +78,9 @@ public class TokenController
         {
             // 刷新令牌有效期
             tokenService.refreshToken(loginUser);
+            systemRedisService.del(CacheConstants.LOGIN_USER_INFO+loginUser.getUsername());
+            loginUserManagerCacheService.setToken(loginUser.getUsername(), tokenHead+loginUser.getToken());
+
             return R.ok();
         }
         return R.ok();

+ 2 - 2
carbon-back/carbon-back-service/src/main/resources/bootstrap.yml

@@ -15,9 +15,9 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
       config:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
         prefix: system
         file-extension: yml
         # 公共配置文件

+ 10 - 0
carbon-bank/carbon-bank-common/pom.xml

@@ -10,6 +10,16 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>carbon-bank-common</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-hystrix</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+    </dependencies>
     <groupId>com.hcloud.microserver</groupId>
     <version>0.0.1-SNAPSHOT</version>
     <name>carbon-bank-common</name>

+ 9 - 0
carbon-bank/carbon-bank-common/src/main/java/com/hcloud/microserver/bank/carbon/client/BankClearService.java

@@ -0,0 +1,9 @@
+package com.hcloud.microserver.bank.carbon.client;
+
+
+import com.hcloud.microserver.bank.carbon.fallback.BankClearFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(contextId = "remoteUserService", value = "carbon-back", fallbackFactory = BankClearFallbackFactory.class)
+public class BankClearService {
+}

+ 29 - 0
carbon-bank/carbon-bank-common/src/main/java/com/hcloud/microserver/bank/carbon/fallback/BankClearFallbackFactory.java

@@ -0,0 +1,29 @@
+package com.hcloud.microserver.bank.carbon.fallback;
+
+
+import com.hcloud.microserver.bank.carbon.client.BankClearService;
+import feign.hystrix.FallbackFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户服务降级处理
+ * 
+ * @author ruoyi
+ */
+@Component
+public class BankClearFallbackFactory implements FallbackFactory<BankClearService>
+{
+    private static final Logger log = LoggerFactory.getLogger(BankClearFallbackFactory.class);
+
+    @Override
+    public BankClearService create(Throwable throwable)
+    {
+        log.error("用户服务调用失败:{}", throwable.getMessage());
+        return new BankClearService()
+        {
+
+        };
+    }
+}

+ 18 - 5
carbon-gateway/src/main/java/com/hcloud/microserver/gateway/filter/AuthGlobalFilter.java

@@ -19,6 +19,7 @@ import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
 import org.springframework.core.Ordered;
 import org.springframework.core.io.buffer.DataBufferFactory;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -34,6 +35,7 @@ import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Mono;
 
 import javax.annotation.Resource;
+import java.util.concurrent.TimeUnit;
 
 
 @Component
@@ -49,6 +51,9 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
     @Autowired
     private StringRedisTemplate stringRedisTemplate;
 
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
+
     @Value("${jwt.tokenHeader}")
     private String tokenHeader;
     @Value("${redis.database}")
@@ -56,6 +61,9 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
     @Value("${redis.key.token}")
     private String REDIS_KEY_TOKEN;
 
+    @Value("${jwt.expiration}")
+    private long EXPIRE_TIME;
+
     @Override
     public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
         ServerHttpRequest request = exchange.getRequest();
@@ -76,7 +84,7 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
             log.error("token = {}",token);
             throw new ApiException(ResultCode.UNAUTHORIZED);
         }
-        String username = jwtTokenUtil.getUserNameFromToken(token);
+        String username = jwtTokenUtil.getUserNameFromToken(token.trim());
         // 待抽离
         if (StringUtils.isEmpty(username)){
 
@@ -88,14 +96,17 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
             log.error("resultToken = {}",resultToken);
             throw new ApiException(ResultCode.UNAUTHORIZED);
         }
+        redisTemplate.expire(key,EXPIRE_TIME, TimeUnit.SECONDS);
 
         String s = stringRedisTemplate.opsForValue().get(CacheConstants.LOGIN_USER_INFO + username);
         if (StringUtils.isNotEmpty(s)){
+
             JSONArray array = (JSONArray)JSONArray.parse(s);
             log.info("获取到了登录信息"+array);
             JSONObject o = (JSONObject)array.get(1);
             if (o.containsKey("userId")){
                 String userId = o.get("userId").toString();
+                redisTemplate.expire(CacheConstants.LOGIN_USER_INFO + username,EXPIRE_TIME, TimeUnit.SECONDS);
                 ServerHttpRequest mutableReq = exchange.getRequest().mutate().header(CacheConstants.DETAILS_USER_ID, userId)
                         .header(CacheConstants.DETAILS_USERNAME, username).build();
                 ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
@@ -116,7 +127,6 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
         return Ordered.HIGHEST_PRECEDENCE;
     }
 
-    private final static long EXPIRE_TIME = Constants.TOKEN_EXPIRE * 60;
 
 
 
@@ -129,12 +139,14 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
         String token = getToken(exchange.getRequest());
         if (StringUtils.isBlank(token))
         {
-            return setUnauthorizedResponse(exchange, "令牌不能为空");
+//            return setUnauthorizedResponse(exchange, "令牌不能为空");
+            throw new ApiException(ResultCode.UNAUTHORIZED);
         }
         String userStr = stringRedisTemplate.opsForValue().get(getTokenKey(token));
         if (userStr == null)
         {
-            return setUnauthorizedResponse(exchange, "登录状态已过期");
+//            return setUnauthorizedResponse(exchange, "登录状态已过期");
+            throw new ApiException(ResultCode.UNAUTHORIZED);
         }
         log.info("获取的用户信息{}",userStr);
 //        JSONObject obj = JSONObject.parseObject(userStr);
@@ -143,7 +155,8 @@ public class AuthGlobalFilter implements GlobalFilter, Ordered {
         String username = obj.getString("username");
         if (StringUtils.isBlank(userid) || StringUtils.isBlank(username))
         {
-            return setUnauthorizedResponse(exchange, "令牌验证失败");
+//            return setUnauthorizedResponse(exchange, "令牌验证失败");
+            throw new ApiException(ResultCode.UNAUTHORIZED);
         }
 
         // 设置过期时间

+ 3 - 3
carbon-gateway/src/main/resources/bootstrap.yml

@@ -1,5 +1,5 @@
 server:
-  port: 9098
+  port: 21998
 spring:
   profiles:
     # dev 默认为开发环境 , prod 线上环境
@@ -9,9 +9,9 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
       config:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
         prefix: carbon-gateway
         file-extension: yml
         # 公共配置文件

+ 2 - 2
carbon-h5/carbon-h5-service/src/main/resources/bootstrap.yml

@@ -13,9 +13,9 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
       config:
-        server-addr: 127.0.0.1:8898
+        server-addr: 127.0.0.1:8892
         prefix: carbon-h5
         file-extension: yml
         # 公共配置文件

+ 0 - 4
carbon-security/src/main/java/com/hcloud/microserver/security/config/NoRedisConfig.java

@@ -3,15 +3,11 @@ package com.hcloud.microserver.security.config;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.hcloud.microserver.security.redis.FastJson2JsonRedisSerializer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.data.redis.cache.RedisCacheConfiguration;
 import org.springframework.data.redis.cache.RedisCacheManager;
-import org.springframework.data.redis.cache.RedisCacheWriter;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.*;
 import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

+ 23 - 2
carbon-security/src/main/java/com/hcloud/microserver/security/service/TokenService.java

@@ -12,6 +12,7 @@ import com.hcloud.microserver.commoncore.util.ip.IpUtils;
 import com.hcloud.microserver.commoncore.util.string.StringUtils;
 import com.hcloud.microserver.security.util.JwtTokenUtil;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -35,8 +36,9 @@ public class TokenService
 
     @Autowired
     private JwtTokenUtil jwtTokenUtil;
-
-    private final static long EXPIRE_TIME = Constants.TOKEN_EXPIRE * 60;
+    @Value("${jwt.expiration}")
+    private long EXPIRE_TIME;
+//    private final static long EXPIRE_TIME = Constants.TOKEN_EXPIRE * 60;
 
     private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
 
@@ -121,6 +123,9 @@ public class TokenService
         {
             String userKey = getTokenKey(token);
             JSONObject ob = (JSONObject)redisService.get(userKey);
+            if (ob == null){
+                return null;
+            }
             if (ob.containsKey("loginUser")){
                 JSONObject jsonObject = (JSONObject)ob.get("loginUser");
                 LoginUser loginUser = JSONObject.toJavaObject(jsonObject, LoginUser.class);
@@ -165,6 +170,22 @@ public class TokenService
         redisService.set(userKey, loginUser, EXPIRE_TIME);
     }
 
+
+    /**
+     * 碳汇登录刷新时间
+     *
+     * @param loginUser 登录信息
+     */
+    public void refreshCarbonToken(LoginUser loginUser)
+    {
+        jwtTokenUtil.refreshHeadToken(loginUser.getToken());
+        loginUser.setLoginTime(System.currentTimeMillis());
+        loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_SECOND);
+        // 根据uuid将loginUser缓存
+        String userKey = getTokenKey(loginUser.getToken());
+        redisService.set(userKey, loginUser, EXPIRE_TIME);
+    }
+
     private String getTokenKey(String token)
     {
         return ACCESS_TOKEN + token;

+ 1 - 1
common-core/src/main/java/com/hcloud/microserver/commoncore/constant/Constants.java

@@ -90,7 +90,7 @@ public class Constants
     /**
      * 令牌有效期(分钟)
      */
-    public final static long TOKEN_EXPIRE = 720;
+    public final static long TOKEN_EXPIRE = 760;
 
     /**
      * 参数管理 cache key

+ 2 - 2
common-core/src/main/java/com/hcloud/microserver/commoncore/filter/HttpRequestMyFilter.java

@@ -9,8 +9,8 @@ import javax.servlet.annotation.WebFilter;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 
-@WebFilter(filterName = "requestBodyFilter", urlPatterns = "/*")
-@Component
+//@WebFilter(filterName = "requestBodyFilter", urlPatterns = "/*")
+//@Component
 @Slf4j
 public class HttpRequestMyFilter implements Filter {
 

+ 1 - 1
carbon-security/src/main/java/com/hcloud/microserver/security/redis/FastJson2JsonRedisSerializer.java

@@ -1,4 +1,4 @@
-package com.hcloud.microserver.security.redis;
+package com.hcloud.microserver.commoncore.redis;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.parser.ParserConfig;

+ 1 - 1
carbon-security/src/main/java/com/hcloud/microserver/security/redis/RedisConfig.java

@@ -1,4 +1,4 @@
-package com.hcloud.microserver.security.redis;
+package com.hcloud.microserver.commoncore.redis;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;

+ 1 - 1
nacos/conf/application.properties

@@ -2,7 +2,7 @@
 ### Default web context path:
 server.servlet.contextPath=/nacos
 ### Default web server port:
-server.port=8898
+server.port=8892
 spring.datasource.platform=mysql
 
 db.num=1

+ 0 - 2
nacos/data/naming/meta.properties

@@ -1,2 +0,0 @@
-#Thu Oct 22 10:29:40 CST 2020
-term=153