ソースを参照

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

feat(评测改造):

See merge request dcuc-tjdsj/auth-back!160
马志强 1 年間 前
コミット
877bd19c51

+ 3 - 8
pom.xml

@@ -110,18 +110,13 @@
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-common</artifactId>
-            <version>2.0.1-SNAPSHOT</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>spring-jdbc</artifactId>
-                    <groupId>org.springframework</groupId>
-                </exclusion>
-            </exclusions>
+            <version>2.1.0-tjdsj-SNAPSHOT</version>
         </dependency>
+
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-auth-api</artifactId>
-            <version>2.4.3-tjdsj-SNAPSHOT</version>
+            <version>2.5.0-tjdsj-SNAPSHOT</version>
         </dependency>
 
         <dependency>

+ 38 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/api/controller/api/v1/controller/TokenController.java

@@ -0,0 +1,38 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.api.controller.api.v1.controller;
+
+import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTrustBusinessRespEnum;
+import com.dragoninfo.dcuc.auth.token.vo.TokenReceiveVO;
+import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTustMessageRespVO;
+import com.dragoninfo.dcuc.auth.token.facade.IAuthTokenFacade;
+import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @author mazq
+ * @date 2023/3/8
+ */
+@Slf4j
+@RestController
+@RequestMapping("api/auth-service/v1/token")
+public class TokenController {
+
+    @Autowired
+    private IAuthTokenFacade authTokenFacade;
+
+    @RequestMapping("receive")
+    public ZeroTustMessageRespVO tokenReceive(@Valid @RequestBody List<TokenReceiveVO> tokenReceiveReqVoList) {
+        log.info("权限接收到令牌操作 :{}", JsonUtils.toJSONString(tokenReceiveReqVoList));
+        tokenReceiveReqVoList.forEach(vo -> {
+            authTokenFacade.tokenReceive(vo);
+        });
+        return ZeroTustMessageRespVO.messageEnumMessage(ZeroTrustBusinessRespEnum.SUCCESS);
+    }
+
+}

+ 0 - 62
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/api/securitypolicy/ApiHwSecurityPolicyController.java

@@ -1,62 +0,0 @@
-package com.dragoninfo.dcuc.authweb.restcontroller.api.securitypolicy;
-
-import com.dragoninfo.dcuc.auth.api.vo.securitypolicy.req.ReqUserRiskScoreVO;
-import com.dragoninfo.dcuc.auth.api.vo.securitypolicy.resp.ErrorException;
-import com.dragoninfo.dcuc.auth.api.vo.securitypolicy.resp.HwSecurityPolicyResp;
-import com.dragoninfo.dcuc.auth.securitypolicy.facade.IApiSecurityPolicyFacade;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.swagger.annotations.Api;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.io.IOException;
-import java.util.List;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author huangzqa
- * @date 2023/5/12
- */
-@Api(tags = {"接收安全策略服务接口"})
-@Slf4j
-@RestController
-@RequestMapping("/api/hw/security-police/")
-public class ApiHwSecurityPolicyController {
-
-    @Autowired
-    private IApiSecurityPolicyFacade apiHwSecurityPolicyFacade;
-
-    /**
-     * 接收评分
-     *
-     * @return AuthResp
-     */
-    @PostMapping(value = "/setRiskScore")
-    public HwSecurityPolicyResp<Boolean> setRiskScore(@RequestParam(value = "messageID", required = false) String messageId,
-                                                      @RequestParam(value = "token", required = false) String token,
-                                                      @RequestParam(value = "contents", required = false) String userRiskScoresJson) {
-
-        log.info("接收安全策略控制服务指令评分信息 messageId:{},contents:{}", messageId, userRiskScoresJson);
-        ObjectMapper objectMapper = new ObjectMapper();
-        List<ReqUserRiskScoreVO> userRiskScores;
-        try {
-            userRiskScores = objectMapper.readValue(userRiskScoresJson, new TypeReference<List<ReqUserRiskScoreVO>>() {
-            });
-        } catch (IOException e) {
-            log.error("messageId:{},contents :{} 解析异常", messageId, userRiskScoresJson, e);
-            return HwSecurityPolicyResp.fail("", "contents 解析异常", ErrorException.errorException(e));
-        }
-
-        apiHwSecurityPolicyFacade.receivePolicy(userRiskScores);
-
-        return HwSecurityPolicyResp.success();
-    }
-}

+ 38 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/api/securitypolicy/SecurityPolicyController.java

@@ -0,0 +1,38 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.api.securitypolicy;
+
+import com.dragoninfo.dcuc.auth.api.vo.securitypolicy.req.AuthRiskOrderReqVo;
+import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTrustMessageRespVO;
+import com.dragoninfo.dcuc.auth.securitypolicy.facade.IApiSecurityPolicyFacade;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2023/5/12
+ */
+@Api(tags = {"接收安全策略服务接口"})
+@Slf4j
+@RestController
+@RequestMapping("/api/hw/security-police/")
+public class SecurityPolicyController {
+
+    @Autowired
+    private IApiSecurityPolicyFacade securityPolicyFacade;
+
+    /**
+     * 接收权限风险指令
+     *
+     * @param authRiskOrderReqVo 接收权限风险指令信息
+     * @return 状态
+     */
+    @PostMapping("risk-order")
+    public ZeroTrustMessageRespVO riskOrder(@RequestBody AuthRiskOrderReqVo authRiskOrderReqVo) {
+        return securityPolicyFacade.riskOrder(authRiskOrderReqVo);
+    }
+}

+ 2 - 2
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/auth/AuthRoleOrgController.java

@@ -1,8 +1,8 @@
 package com.dragoninfo.dcuc.authweb.restcontroller.auth;
 
 import com.dragoninfo.dcuc.auth.auth.facade.IAuthRoleOrgRelFacade;
-import com.dragoninfo.dcuc.auth.auth.vo.roleorgauth.RoleOrgAuthSaveVo;
-import com.dragoninfo.dcuc.auth.auth.vo.roleorgauth.RoleOrgAuthVo;
+import com.dragoninfo.dcuc.auth.auth.vo.zerotrust.roleorgauth.RoleOrgAuthSaveVo;
+import com.dragoninfo.dcuc.auth.auth.vo.zerotrust.roleorgauth.RoleOrgAuthVo;
 import com.dragoninfo.duceap.core.response.Result;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;

+ 1 - 1
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/auth/RoleInfoController.java

@@ -8,7 +8,7 @@ import com.dragoninfo.dcuc.auth.auth.facade.IRoleInfoFacade;
 import com.dragoninfo.dcuc.auth.auth.facade.IStaffAssignAuthInfoFacade;
 import com.dragoninfo.dcuc.auth.auth.vo.RoleInfoVO;
 import com.dragoninfo.dcuc.auth.auth.vo.RsGridCheckedVO;
-import com.dragoninfo.dcuc.auth.auth.vo.rolemanage.RoleOperateApplyVo;
+import com.dragoninfo.dcuc.auth.auth.vo.zerotrust.rolemanage.RoleOperateApplyVo;
 import com.dragoninfo.dcuc.authweb.restcontroller.auth.vo.RoleFunRsRlVo;
 import com.dragoninfo.dcuc.authweb.restcontroller.auth.vo.RoleInfoVo;
 import com.dragoninfo.dcuc.authweb.restcontroller.auth.vo.RoleQuotaVo;

+ 1 - 1
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/auth/vo/RoleInfoVo.java

@@ -79,7 +79,7 @@ public class RoleInfoVo {
     @ApiModelProperty(value = "角色类型")
     private String roleType;
 
-    @ApiModelProperty(value = "361标准角色类型字段")
+    @ApiModelProperty(value = "361标准角色关键状态字段")
     private String roleCategory;
 
     @ApiModelProperty(value = "人脸认证标识")

+ 29 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/element/EnvElementController.java

@@ -1,15 +1,20 @@
 package com.dragoninfo.dcuc.authweb.restcontroller.element;
 
 import com.dragoninfo.dcuc.auth.element.facade.IEnvElementFacade;
+import com.dragoninfo.dcuc.auth.element.vo.ElementUserRelRespVo;
+import com.dragoninfo.dcuc.auth.element.vo.ElementUserSaveVo;
 import com.dragoninfo.dcuc.auth.element.vo.EnvElementSaveVo;
 import com.dragoninfo.dcuc.auth.element.vo.RespEnvElementVo;
+import com.dragoninfo.dcuc.auth.sub.vo.AuthUserVo;
 import com.dragoninfo.duceap.core.response.Result;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -59,4 +64,28 @@ public class EnvElementController {
         result.setResult(responseStatus.getStatusCode());
         return result;
     }
+
+    @ApiOperation(value = "关联用户分页查询")
+    @PostMapping("userRelPage")
+    public Result<List<ElementUserRelRespVo>> userRelPage(SearchDTO searchDTO) {
+        return envElementFacade.userRelPage(searchDTO);
+    }
+
+    @ApiOperation(value = "非关联用户分页查询")
+    @PostMapping("notInUserRelPage")
+    public Result<List<AuthUserVo>> notInUserRelPage(SearchDTO searchDTO) {
+        return envElementFacade.notInUserRelPage(searchDTO);
+    }
+
+    @ApiOperation(value = "关联关系添加")
+    @PostMapping("userRelSave")
+    public Result<Object> userRelSave(@Valid @RequestBody ElementUserSaveVo relSaveVo) {
+        return envElementFacade.userRelSave(relSaveVo);
+    }
+
+    @ApiOperation(value = "关联关系移除")
+    @DeleteMapping("deleteUserRel/{id}")
+    public Result<Object> deleteUserRel(@PathVariable("id") String id) {
+        return envElementFacade.deleteUserRel(id);
+    }
 }

+ 12 - 5
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/login/DcucLoginController.java

@@ -1,19 +1,20 @@
 package com.dragoninfo.dcuc.authweb.restcontroller.login;
 
 
+import com.dragoninfo.dcuc.auth.admin.facade.IManageInfoFacade;
 import com.dragoninfo.dcuc.auth.auth.dto.AuthMenuDTO;
 import com.dragoninfo.dcuc.auth.auth.facade.IAuthMenuFacade;
 import com.dragoninfo.dcuc.auth.auth.facade.IRoleFacade;
 import com.dragoninfo.dcuc.auth.sub.dto.AuthUserContactDTO;
 import com.dragoninfo.dcuc.auth.sub.facade.IAuthUserInfoFacade;
 import com.dragoninfo.dcuc.authweb.config.DcucAuthWebConfig;
+import com.dragoninfo.dcuc.common.enums.UserExtInfoEnum;
 import com.dragonsoft.duceap.base.entity.security.SecurityRight;
 import com.dragonsoft.duceap.base.entity.security.SecurityUser;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
-import com.dragonsoft.duceap.web.SecurityProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,9 +23,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @RestController
@@ -33,15 +32,18 @@ public class DcucLoginController {
 
     @Autowired
     private IAuthMenuFacade menuFacade;
+
     @Autowired
     private IAuthUserInfoFacade authUserInfoFacade;
+
     @Autowired
     private IRoleFacade iRoleFacade;
 
     @Autowired
     private DcucAuthWebConfig dcucAuthWebConfig;
+
     @Autowired
-    private SecurityProperties securityProperties;
+    private IManageInfoFacade manageInfoFacade;
 
     public static final Logger logger = LoggerFactory.getLogger(DcucLoginController.class);
 
@@ -67,6 +69,11 @@ public class DcucLoginController {
             List<SecurityRight> authmenu = getAuthmenu(securityUser);
             securityUser.setSecurityRightList(authmenu);
 
+            Map<String, Object> map = new HashMap<>(UserExtInfoEnum.values().length);
+            map.put(UserExtInfoEnum.USER_TOKEN_ID.getValue(), userToken);
+            map.put(UserExtInfoEnum.APP_TOKEN_ID.getValue(), appToken);
+            securityUser.setExtendtions(map);
+
             logger.info("securityUser:{}", JsonUtils.toJSONString(securityUser));
             UserContextUtils.setCurrentUser(securityUser);
             return securityUser;

+ 31 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/login/TokenInfoController.java

@@ -0,0 +1,31 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.login;
+
+import com.alibaba.fastjson.JSONObject;
+import com.dragoninfo.dcuc.auth.token.facade.IAuthTokenFacade;
+import com.dragoninfo.dcuc.auth.token.vo.TokenOnlineReqVo;
+import com.dragoninfo.dcuc.auth.token.vo.TokenOnlineRespVo;
+import com.dragoninfo.duceap.core.response.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author mazq
+ * @date 2023/6/21
+ */
+@RestController
+@RequestMapping(value = "authsvr/v2/token-info")
+public class TokenInfoController {
+
+    @Autowired
+    private IAuthTokenFacade tokenFacade;
+
+    @PostMapping("online-query")
+    public Result<TokenOnlineRespVo> tokenOnlineQuery(@RequestBody TokenOnlineReqVo reqVo) {
+        TokenOnlineRespVo tokenOnlineRespVo = tokenFacade.tokenOnlineQuery(reqVo);
+        return Result.success(tokenOnlineRespVo);
+    }
+
+}

+ 70 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/sub/AuthSubTaskTypeController.java

@@ -0,0 +1,70 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.sub;
+
+import com.dragoninfo.dcuc.auth.sub.facade.IAuthSubTaskTypeFacade;
+import com.dragoninfo.dcuc.auth.sub.vo.tasktype.AuthSubTaskTypeVo;
+import com.dragoninfo.dcuc.auth.sub.vo.tasktype.TaskTypeTreeVo;
+import com.dragoninfo.dcuc.common.utils.ResponseUtil;
+import com.dragoninfo.duceap.core.response.Result;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author mazq
+ * @date 2023/2/13
+ */
+@Api(tags = "主体任务类型管理")
+@RestController
+@RequestMapping(value = "/authsvr/v2/subTaskType")
+public class AuthSubTaskTypeController {
+
+    private IAuthSubTaskTypeFacade taskTypeFacade;
+
+    @Autowired
+    public void setTaskTypeFacade(IAuthSubTaskTypeFacade taskTypeFacade) {
+        this.taskTypeFacade = taskTypeFacade;
+    }
+
+
+    @ApiOperation("任务类型分页查询")
+    @ApiImplicitParam(name = "searchable", value = "分页查询条件")
+    @PostMapping("pageSearch")
+    Result<List<AuthSubTaskTypeVo>> pageSearch(SearchDTO searchDTO) {
+        Page<AuthSubTaskTypeVo> voPage = taskTypeFacade.pageSearch(searchDTO);
+        return Result.success(voPage.getTotalElements(), voPage.getContent());
+    }
+
+    @ApiOperation("任务类型树")
+    @GetMapping("tree")
+    Result<List<TaskTypeTreeVo>> taskTypeTree() {
+        List<TaskTypeTreeVo> treeVos = taskTypeFacade.taskTypeTree();
+        return Result.success(treeVos);
+    }
+
+    @ApiOperation("任务类型导入")
+    @ApiImplicitParam(name = "fileId", value = "上传文件id")
+    @GetMapping("taskTypeImp")
+    ResponseStatus taskTypeImp(@RequestParam("fileId") String fileId) {
+        return taskTypeFacade.taskTypeImp(fileId);
+    }
+
+    @ApiOperation(value = "任务类型同步")
+    @GetMapping("taskTypeSync")
+    Result<Object> taskTypeSync() {
+        ResponseStatus responseStatus = taskTypeFacade.taskTypeSync();
+        if (ResponseUtil.isSuccess(responseStatus)) {
+            return Result.success();
+        } else {
+            return Result.failMessage(responseStatus.getMessage());
+        }
+    }
+
+
+}