From dd4e6d788efb23509248f2119137014a49452839 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 06 九月 2023 14:05:56 +0800
Subject: [PATCH] 提交

---
 server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java                         |    9 ----
 server/service/src/main/java/com/doumee/service/system/SystemLoginService.java          |    2 
 server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java                          |    7 ++-
 server/service/src/main/java/com/doumee/core/utils/Constants.java                       |   31 ---------------
 server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java                   |    7 ---
 server/company/src/main/java/com/doumee/api/system/SystemController.java                |    5 +-
 server/platform/src/main/java/com/doumee/api/system/SystemController.java               |    4 +
 server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |    8 +++-
 server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java                    |   10 +++-
 9 files changed, 25 insertions(+), 58 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/system/SystemController.java b/server/company/src/main/java/com/doumee/api/system/SystemController.java
index 8b7ba74..ed5bcde 100644
--- a/server/company/src/main/java/com/doumee/api/system/SystemController.java
+++ b/server/company/src/main/java/com/doumee/api/system/SystemController.java
@@ -6,6 +6,7 @@
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
 import com.doumee.dao.system.dto.LoginDTO;
 import com.doumee.dao.system.dto.UpdatePwdDto;
 import com.doumee.service.system.SystemLoginService;
@@ -41,7 +42,7 @@
     @ApiOperation("鐧诲綍")
     @PostMapping("/login")
     public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, HttpServletRequest request) {
-        return ApiResponse.success(systemLoginService.loginByPassword(dto, request));
+        return ApiResponse.success(systemLoginService.loginByPassword(dto, Constants.ONE, request));
     }
 
     @ApiOperation("閫�鍑虹櫥褰�")
@@ -51,7 +52,6 @@
         subject.logout();
         return ApiResponse.success(null);
     }
-
     @Trace(withRequestParameters = false)
     @ApiOperation("淇敼褰撳墠鐢ㄦ埛瀵嗙爜")
     @PostMapping("/updatePwd")
@@ -60,7 +60,6 @@
         systemUserBiz.updatePwd(dto);
         return ApiResponse.success(null);
     }
-
     @ApiOperation("鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�")
     @GetMapping("/getUserInfo")
     public ApiResponse<LoginUserInfo> getUserInfo () {
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java
index 6422760..6a9becb 100644
--- a/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -94,15 +94,8 @@
         map.put("/system/logout", "anon");
         map.put("/common/captcha", "anon");
         map.put("/business/areas/*", "anon");
-        map.put("/business/company/register", "anon");
-        map.put("/business/labels/page","anon");
         map.put("/public/uploadPicture","anon");
         map.put("/public/uploadLocal","anon");
-        map.put("/business/*/list","anon");
-        map.put("/business/goods/goodsPage","anon");
-        map.put("/business/goods/h5Image","anon");
-        map.put("/business/goods/export","anon");
-        map.put("/business/goods/listForH5","anon");
 
 
         // - 鏀捐swagger
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 299fb97..b15f089 100644
--- a/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -77,12 +77,16 @@
         queryDto.setUsername(username);
         queryDto.setDeleted(Boolean.FALSE);
         SystemUser user = systemUserService.findOne(queryDto);
+        if(user == null){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛�");
+        }
+        if(!Constants.equalsInteger(user.getType(),Constants.UserType.COMPANY.getKey()) && !Constants.equalsInteger(user.getType(),Constants.UserType.ZHUBO.getKey())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛侊紒");
+        }
         if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
         }
-        if (user == null) {
-            return null;
-        }
+
         // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
         List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
         List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
diff --git a/server/platform/src/main/java/com/doumee/api/system/SystemController.java b/server/platform/src/main/java/com/doumee/api/system/SystemController.java
index 8b7ba74..11aabd4 100644
--- a/server/platform/src/main/java/com/doumee/api/system/SystemController.java
+++ b/server/platform/src/main/java/com/doumee/api/system/SystemController.java
@@ -6,6 +6,7 @@
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
 import com.doumee.dao.system.dto.LoginDTO;
 import com.doumee.dao.system.dto.UpdatePwdDto;
 import com.doumee.service.system.SystemLoginService;
@@ -17,6 +18,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.yaml.snakeyaml.scanner.Constant;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -41,7 +43,7 @@
     @ApiOperation("鐧诲綍")
     @PostMapping("/login")
     public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, HttpServletRequest request) {
-        return ApiResponse.success(systemLoginService.loginByPassword(dto, request));
+        return ApiResponse.success(systemLoginService.loginByPassword(dto, Constants.ZERO, request));
     }
 
     @ApiOperation("閫�鍑虹櫥褰�")
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java b/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java
index fce72c7..97bfa1e 100644
--- a/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroConfig.java
@@ -88,21 +88,14 @@
         shiroFilterFactoryBean.setSecurityManager(securityManager);
         Map<String, String> map = new LinkedHashMap<>();
         // 璺緞鎷︽埅閰嶇疆
-        // 璺緞鎷︽埅閰嶇疆
         map.put("/system/dictData/companyUserRules","anon");
         map.put("/system/login", "anon");
         map.put("/system/logout", "anon");
         map.put("/common/captcha", "anon");
         map.put("/business/areas/*", "anon");
-        map.put("/business/company/register", "anon");
-        map.put("/business/labels/page","anon");
         map.put("/public/uploadPicture","anon");
         map.put("/public/uploadLocal","anon");
-        map.put("/business/*/list","anon");
-        map.put("/business/goods/goodsPage","anon");
-        map.put("/business/goods/h5Image","anon");
-        map.put("/business/goods/export","anon");
-        map.put("/business/goods/listForH5","anon");
+
 
 
         // - 鏀捐swagger
diff --git a/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java b/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
index 44c84e2..f290a33 100644
--- a/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
+++ b/server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
@@ -75,13 +75,14 @@
         // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
         SystemUser queryDto = new SystemUser();
         queryDto.setUsername(username);
+        queryDto.setType(Constants.UserType.SYSTEM.getKey());
         queryDto.setDeleted(Boolean.FALSE);
         SystemUser user = systemUserService.findOne(queryDto);
+        if(user == null){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛�");
+        }
         if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
-        }
-        if (user == null) {
-            return null;
         }
         // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
         List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 412fa7e..325b231 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -438,14 +438,7 @@
 
         SYSTEM(0, "绯荤粺鐢ㄦ埛", "绠$悊鍛�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
         COMPANY(1, "浼佷笟鐢ㄦ埛", "浼佷笟",Arrays.asList(-1)),
-        SO_ADMIN(2, "鏈嶅姟鏈烘瀯绠$悊鍛�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
-        SO_CHILD(3, "鏈嶅姟鏈烘瀯瀛愯处鍙�", "鏈嶅姟鏈烘瀯",Arrays.asList(-1)),
-        SD_ADMIN(4, "缁煎悎鏈嶅姟鍗曚綅绠$悊鍛�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
-        SD_CHILD(5, "缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙�", "缁煎悎鏈嶅姟鍗曚綅",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
-        EXPERT(6, "涓撳", "涓撳", Arrays.asList(-1)),
-        AREA(7, "鍘垮尯鐢ㄦ埛", "鍘垮尯",Arrays.asList(0,1,2,3,4,5,6,7,8,9)),
-        SJ(8, "甯傚眬鐢ㄦ埛", "甯傚眬",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
-        SJ_CHILD(9, "甯傚眬瀛愯处鍙�", "甯傚眬瀛愯处鍙�",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
+        ZHUBO(2, "涓绘挱", "涓绘挱",Arrays.asList(-1)),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
@@ -514,29 +507,7 @@
             return noteinfo;
         }
 
-        /**
-         * 涓嶉渶瑕佸鎵逛慨鏀逛俊鎭鑹�
-         * @return
-         */
-        public static List<Integer> getNoCheckUserChange(){
-            return Arrays.asList(SO_ADMIN.key, AREA.key, SJ.key, EXPERT.key, SD_ADMIN.key,SYSTEM.key);
-        }
 
-        /**
-         * 鑾峰彇瀛愯处鍙风被鍨�
-         * @return
-         */
-        public static List<Integer> getSonUserType(){
-            return Arrays.asList(SO_CHILD.key, SD_CHILD.key);
-        }
-
-        /**
-         * 鑾峰彇鍏宠仈浼佷笟鐨勭敤鎴风被鍨�
-         * @return
-         */
-        public static List<Integer> getHasCompanyType(){
-            return Arrays.asList(COMPANY.key, SO_ADMIN.key, SD_ADMIN.key);
-        }
 
     }
 
diff --git a/server/service/src/main/java/com/doumee/service/system/SystemLoginService.java b/server/service/src/main/java/com/doumee/service/system/SystemLoginService.java
index 07d70b8..a7efb36 100644
--- a/server/service/src/main/java/com/doumee/service/system/SystemLoginService.java
+++ b/server/service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -16,5 +16,5 @@
      * @author Eva.Caesar Liu
      * @date 2023/03/21 14:49
      */
-    String loginByPassword (LoginDTO dto, HttpServletRequest request);
+    String loginByPassword (LoginDTO dto,int type, HttpServletRequest request);
 }
diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index d9abcaa..452b0a0 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -27,6 +27,8 @@
 
     @Value("${project.version}")
     private String systemVersion;
+    @Value("${captcha_check}")
+    private boolean captchaCheck;
 
     @Autowired
     private CaptchaService captchaService;
@@ -35,7 +37,7 @@
     private SystemLoginLogService systemLoginLogService;
 
     @Override
-    public String loginByPassword(LoginDTO dto, HttpServletRequest request) {
+    public String loginByPassword(LoginDTO dto, int type,HttpServletRequest request) {
         SystemLoginLog loginLog = new SystemLoginLog();
         loginLog.setLoginUsername(dto.getUsername());
         loginLog.setLoginTime(new Date());
@@ -48,7 +50,9 @@
         loginLog.setServerIp(Utils.Server.getIP());
         // 鏍¢獙楠岃瘉鐮�
         try {
-            captchaService.check(dto.getUuid(), dto.getCode());
+            if(captchaCheck){
+                captchaService.check(dto.getUuid(), dto.getCode());
+            }
         } catch (Exception e) {
             log.error(e.getMessage(), e);
             loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());

--
Gitblit v1.9.3