Jelajahi Sumber

Merge branch 'mazq-jiekouyouhua-230523' into 'release/v1.2.0'

Mazq jiekouyouhua 230523

See merge request dcuc-tjdsj/auth-service!234
马志强 1 tahun lalu
induk
melakukan
f2c3dd273b

+ 1 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/audit/service/log/DataAuthLogHandler.java

@@ -159,7 +159,7 @@ public class DataAuthLogHandler {
         List<AuthorizeObjectDto> authorizeObjectDtos = delList.stream().map(e -> {
             AuthorizeObjectDto authorizeObjectDto = new AuthorizeObjectDto();
             authorizeObjectDto.setObjectName(Optional.ofNullable(
-                    dataResourceFacade.getDetailByIdAndClaType(e.getId(), e.getClassifyCode())).map(DataLevelVo::getLevelName).orElse(""));
+                    dataResourceFacade.getDetailByIdAndClaType(e.getDataId(), e.getClassifyCode())).map(DataLevelVo::getLevelName).orElse(""));
             authorizeObjectDto.setObjectId(e.getDataId());
             return authorizeObjectDto;
         }).collect(Collectors.toList());

+ 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);

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

@@ -144,45 +144,30 @@ 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);
     }
 
-    private String tokenReceiveCache(TokenReceiveVO receiveVo) throws JsonProcessingException {
+    private void tokenReceiveCache(TokenReceiveVO receiveVo) throws JsonProcessingException {
         String action = receiveVo.getAction();
         String type = receiveVo.getType();
         String token = receiveVo.getToken();
-        String pid;
         ObjectMapper objectMapper = new ObjectMapper();
         if (TokenTypeEnum.USER.getValue().equals(type)) {
             UserTokenInfoRespVO tokenInfo = objectMapper.readValue(token, UserTokenInfoRespVO.class);
-            pid = tokenInfo.getPid();
             cacheBusiness.userTokenActionHandle(tokenInfo, action);
         } else {
             AppTokenInfoRespVO tokenInfo = objectMapper.readValue(token, AppTokenInfoRespVO.class);
-            pid = tokenInfo.getUserToken().getPid();
             cacheBusiness.appTokenActionHandle(tokenInfo, action);
         }
-        return pid;
     }
 
     private ZeroTrustMessageRespVO tokenReceiveSignCheck(TokenReceiveVO receiveVo) {

+ 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));
     }
 
 

+ 1 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/impl/zerotrust/TokenRemoteCallBusinessImpl.java

@@ -103,7 +103,7 @@ public class TokenRemoteCallBusinessImpl implements ITokenRemoteCallBusiness {
                 log.error("解析JSON异常", e);
             }
             if (responseEntityBody != null) {
-                if (responseEntityBody.getStatusCode().equalsIgnoreCase(ZeroTrustBusinessRespEnum.SUCCESS.getValue())) {
+                if (ZeroTrustBusinessRespEnum.SUCCESS.getValue().equalsIgnoreCase(responseEntityBody.getStatusCode())) {
 
                     // 校验令牌签名
                     if (zerotrustConfig.getCheckTokenSign()) {