Procházet zdrojové kódy

内部接口鉴权

dengsixing před 1 měsícem
rodič
revize
fdd439145b

+ 5 - 9
src/main/java/com/fdkankan/contro/Interceptor/SignVerificationAspect.java

@@ -8,8 +8,8 @@ import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.contro.common.Result;
 import com.fdkankan.contro.httpclient.MyClient;
 import com.fdkankan.sign.RsaUtils;
+import com.fdkankan.sign.SignUtils;
 import lombok.extern.log4j.Log4j2;
-import org.apache.commons.collections.map.HashedMap;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
@@ -25,7 +25,6 @@ import java.io.IOException;
 import java.time.Instant;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Objects;
 
 @Log4j2
 @Aspect
@@ -70,7 +69,7 @@ public class SignVerificationAspect {
 		String ucenterSign = RsaUtils.encipher(playload.toJSONString(), publicKey);
 		Map<String, String> headerMap = new HashMap<>();
 		headerMap.put("sign", ucenterSign);
-		headerMap.put("appId", "ucenter")
+		headerMap.put("appId", "ucenter");
 		String url = fdServiceBasePath + GET_PRIVATEKEY_API + "ucenter";
 		Result result = myClient.get(url, headerMap);
 		if(result.getCode() != ServerCode.SUCCESS.code()){
@@ -79,12 +78,9 @@ public class SignVerificationAspect {
 		String privateKey = (String) result.getData();
 
 		//签名解密
-
-		//校验appid是否合法
-
-		//校验时间戳是否有效
-
-
+		if(!SignUtils.checkSign(sign, appId, privateKey)){
+			throw new BusinessException(ErrorCode.AUTH_FAIL);
+		}
 	}
 
 }

+ 5 - 23
src/main/java/com/fdkankan/contro/controller/InnerController.java

@@ -1,32 +1,13 @@
 package com.fdkankan.contro.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.ModelingBuildStatus;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.contro.service.IAppCameraFailLogService;
+import com.fdkankan.contro.annotation.SignVerification;
 import com.fdkankan.contro.service.IInnerService;
-import com.fdkankan.contro.service.ISceneFileBuildService;
-import com.fdkankan.contro.service.ISceneUploadCountService;
-import com.fdkankan.contro.vo.ReportFailLogVO;
-import com.fdkankan.contro.vo.ResponseSceneFile;
-import com.fdkankan.contro.vo.SceneUploadCountParamVO;
-import com.fdkankan.fyun.face.FYunFileServiceInterface;
-import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
 import com.fdkankan.web.response.ResultData;
 import lombok.extern.log4j.Log4j2;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * 场景文件上传模块
@@ -39,6 +20,7 @@ public class InnerController {
     @Autowired
     private IInnerService innerService;
 
+    @SignVerification
     @GetMapping("uploadArtificialResult")
     public ResultData uploadArtificialResult(String num) throws Exception {
         innerService.uploadArtificialResult(num);

+ 8 - 1
src/main/java/com/fdkankan/contro/controller/SceneFileController.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneSource;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.contro.annotation.SignVerification;
 import com.fdkankan.contro.entity.ScenePlus;
 import com.fdkankan.contro.service.IAppCameraFailLogService;
 import com.fdkankan.contro.service.ISceneFileBuildService;
@@ -88,11 +89,14 @@ public class SceneFileController{
      * @param params
      * @return
      */
+    @SignVerification
     @PostMapping("reverseScene")
     public ResultData reverseScene(@RequestBody JSONObject params) throws Exception {
         return sceneFileBuildService.reverseScene(params);
     }
 
+
+    @SignVerification
     @GetMapping("rebuildScene")
     public ResultData rebuildScene(@RequestParam(value = "num") String num,
                                    @RequestParam(value = "force",defaultValue = "false") Boolean force ,
@@ -145,7 +149,7 @@ public class SceneFileController{
         return map;
     }
 
-
+    @SignVerification
     @GetMapping("copyDataAndBuild")
     public ResultData copyDataAndBuild(@RequestParam(value = "dataSource") String dataSource,@RequestParam(value = "sceneVer") String sceneVer,
                                        @RequestParam(value = "sourceBucket") String sourceBucket) throws Exception {
@@ -157,12 +161,14 @@ public class SceneFileController{
      * @param param
      * @return
      */
+    @SignVerification
     @PostMapping("/increSceneUploadCount")
     public ResultData increSceneUploadCount(@RequestBody @Valid SceneUploadCountParamVO param){
         sceneUploadCountService.increSceneUploadCount(param);
         return ResultData.ok();
     }
 
+    @SignVerification
     @PostMapping("/reportFailLog")
     public ResultData reportFailLog(@RequestBody @Valid ReportFailLogVO param){
         appCameraFailLogService.reportFailLog(param);
@@ -173,6 +179,7 @@ public class SceneFileController{
      * 计算理光相机格式场景
      * @return
      */
+    @SignVerification
     @PostMapping("uploadLiguang")
     public ResultData uploadLiguang(String num, String snCode, String ossPath) throws Exception {
         return sceneFileBuildService.uploadLiguang(num, snCode, ossPath);