Browse Source

feature: 发送令牌操作日志,打印info接口令牌信息

mazq 1 year ago
parent
commit
537e794687

+ 2 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/impl/zerotrust/ApproveRemoteCallBusinessImpl.java

@@ -290,6 +290,8 @@ public class ApproveRemoteCallBusinessImpl implements IApproveRemoteCallBusiness
         String appTokenId = dto.getAppTokenId();
         String processDefId = dto.getProcessDefId();
         String title = dto.getTitle();
+
+        log.info("调用审批,生成签名时使用的应用令牌:{}, 流程标识:{}", appTokenId, processDefId);
         Assert.notBlank(appTokenId);
         Assert.notBlank(processDefId);
         Assert.notBlank(title);

+ 2 - 13
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/impl/zerotrust/AuthTokenBusinessImpl.java

@@ -144,26 +144,15 @@ public class AuthTokenBusinessImpl implements IAuthTokenBusiness {
         if (CollectionUtils.isEmpty(tokenReceiveReqVoList)) {
             return ZeroTrustMessageRespVO.messageEnumMessage(ZeroTrustBusinessRespEnum.SUCCESS);
         }
-        List<TokenOperationDto> logList = new ArrayList<>();
         for (TokenReceiveVO receiveVo : tokenReceiveReqVoList) {
             // 校验请求签名
             ZeroTrustMessageRespVO check = tokenReceiveSignCheck(receiveVo);
             if (check.isRespFail()) {
                 return check;
             }
-            // 令牌缓存处理
-            String pid = tokenReceiveCache(receiveVo);
-            TokenOperationDto dto = TokenOperationDto.builder()
-                    .action(receiveVo.getAction())
-                    .operateTime(new Date())
-                    .pid(pid)
-                    .tokenType(receiveVo.getType())
-                    .build();
-            // 添加日志
-            logList.add(dto);
+           tokenReceiveCache(receiveVo);
         }
-        // 发送令牌处理日志
-        qmAuditPushService.pushTokenReceiveLog(logList);
+
         return ZeroTrustMessageRespVO.messageEnumMessage(ZeroTrustBusinessRespEnum.SUCCESS);
     }
 

+ 22 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/impl/zerotrust/RedisCacheBusinessImpl.java

@@ -2,6 +2,8 @@ package com.dragoninfo.dcuc.auth.business.impl.zerotrust;
 
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.dragoninfo.dcuc.auth.audit.dto.TokenOperationDto;
+import com.dragoninfo.dcuc.auth.audit.service.log.QmAuditPushService;
 import com.dragoninfo.dcuc.auth.auth.dto.AppAuthResultDto;
 import com.dragoninfo.dcuc.auth.business.ICacheBusiness;
 import com.dragoninfo.dcuc.auth.constance.ZerotrustAuthRedisConstant;
@@ -13,6 +15,7 @@ import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +47,9 @@ public class RedisCacheBusinessImpl implements ICacheBusiness {
     @Resource
     private StringRedisTemplate stringRedisTemplate;
 
+    @Autowired
+    private QmAuditPushService qmAuditPushService;
+
     private void cacheUserToken(UserTokenInfoRespVO userToken) {
         // 缓存人员令牌
         long tokenExpireTime = userToken.getExpireAt().getTime();
@@ -214,6 +220,14 @@ public class RedisCacheBusinessImpl implements ICacheBusiness {
         } else if (TokenActionEnum.RENEW.getValue().equals(action)) {
             renewAppToken(tokenInfo);
         }
+        TokenOperationDto dto = TokenOperationDto.builder()
+                .action(action)
+                .operateTime(new Date())
+                .pid(tokenInfo.getUserToken().getPid())
+                .tokenType(TokenTypeEnum.USER.getValue())
+                .build();
+        // 发送令牌处理日志
+        qmAuditPushService.pushTokenReceiveLog(Collections.singletonList(dto));
     }
 
     @Override
@@ -228,6 +242,14 @@ public class RedisCacheBusinessImpl implements ICacheBusiness {
         } else if (TokenActionEnum.RENEW.getValue().equals(action)) {
             renewUserToken(tokenInfo);
         }
+        TokenOperationDto dto = TokenOperationDto.builder()
+                .action(action)
+                .operateTime(new Date())
+                .pid(tokenInfo.getPid())
+                .tokenType(TokenTypeEnum.USER.getValue())
+                .build();
+        // 发送令牌处理日志
+        qmAuditPushService.pushTokenReceiveLog(Collections.singletonList(dto));
     }