Эх сурвалжийг харах

美术阅卷10月屏蔽和优化task——BUG修复

wangliang 5 жил өмнө
parent
commit
02114f87d6

+ 5 - 1
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/LoginInterceptor.java

@@ -24,8 +24,12 @@ public class LoginInterceptor extends HandlerInterceptorAdapter {
         String token = (String) request.getSession().getAttribute("token");
         if (token != null) {
             String loginName = token.substring(14);
-            if (loginConfig.adminLoginConfig().getLoginName().equals(loginName) || loginConfig.clientLoginConfig().getLoginName().equals(loginName)) {
+            if (loginConfig.adminLoginConfig().getLoginName().equals(loginName)
+                    || loginConfig.inspectionLoginConfig().getLoginName().equals(loginName)) {
                 return true;
+            } else if (loginConfig.clientLoginConfig().getLoginName().equals(loginName)) {
+                response.sendError(HttpStatus.UNAUTHORIZED.value(), "该账户只能在采集端登录");
+                return false;
             }
             AbstractUser user = markUserRepo.findByLoginName(loginName);
             String sessionId = request.getSession().getId();

+ 16 - 4
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/api/AuthApi.java

@@ -34,16 +34,27 @@ public class AuthApi {
         if (loginConfig.adminLoginConfig().getLoginName().equals(user.getLoginName()) &&
                 loginConfig.adminLoginConfig().getPassword().equals(user.getPassword())) {
             domain = new MarkUser(loginConfig.adminLoginConfig().getLoginName(), loginConfig.adminLoginConfig().getPassword(), null, null, "系统管理员", Role.ADMIN, null);
-        } else if (loginConfig.clientLoginConfig().getLoginName().equals(user.getLoginName()) &&
-                loginConfig.clientLoginConfig().getPassword().equals(user.getPassword())) {
-            domain = new MarkUser(loginConfig.clientLoginConfig().getLoginName(), loginConfig.clientLoginConfig().getPassword(), null, null, "系统管理员", Role.ADMIN, null);
+        }
+//        else if (loginConfig.clientLoginConfig().getLoginName().equals(user.getLoginName()) &&
+//                loginConfig.clientLoginConfig().getPassword().equals(user.getPassword())) {
+//            domain = new MarkUser(loginConfig.clientLoginConfig().getLoginName(), loginConfig.clientLoginConfig().getPassword(), null, null, "系统管理员", Role.ADMIN, null);
+//        }
+        else if (loginConfig.inspectionLoginConfig().getLoginName().equals(user.getLoginName()) &&
+                loginConfig.inspectionLoginConfig().getPassword().equals(user.getPassword())) {
+            domain = new MarkUser(loginConfig.inspectionLoginConfig().getLoginName(), loginConfig.inspectionLoginConfig().getPassword(), null, null, "纪检员", Role.INSPECTION, null);
         } else {
 //            Work activeWork = workRepo.findByActiveTrue();
 //            String loginName = activeWork.getId() + "-" + user.getLoginName();
 //            domain = markUserRepo.findByLoginName(loginName);
             domain = markUserRepo.findByLoginName(user.getLoginName());
             if (domain == null) {
-                throw new RuntimeException("用户不存在");
+                if ((loginConfig.adminLoginConfig().getLoginName().equals(user.getLoginName()) && !loginConfig.adminLoginConfig().getPassword().equals(user.getPassword())) || (loginConfig.inspectionLoginConfig().getLoginName().equals(user.getLoginName()) && !loginConfig.inspectionLoginConfig().getPassword().equals(user.getPassword()))) {
+                    throw new RuntimeException("用户或密码错误");
+                } else if (loginConfig.clientLoginConfig().getLoginName().equals(user.getLoginName())) {
+                    throw new RuntimeException("该账户只能在采集端登录");
+                } else {
+                    throw new RuntimeException("用户不存在");
+                }
             }
             if (!user.getPassword().equals(domain.getPassword())) {
                 throw new RuntimeException("用户或密码错误");
@@ -60,6 +71,7 @@ public class AuthApi {
             session.setAttribute("token", null);
         }
         session.setAttribute("token", System.currentTimeMillis() + "#" + domain.getLoginName());
+        session.setAttribute("markUser", domain);
         return domain;
     }
 

+ 7 - 0
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/config/AdminLoginConfig.java

@@ -1,5 +1,12 @@
 package cn.com.qmth.stmms.ms.accesscontrol.config;
 
+/**
+ * @Description: 后台配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/10/18
+ */
 public class AdminLoginConfig {
 
     private String loginName;

+ 8 - 1
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/config/ClientLoginConfig.java

@@ -1,10 +1,17 @@
 package cn.com.qmth.stmms.ms.accesscontrol.config;
 
+/**
+ * @Description: 采集端配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/10/18
+ */
 public class ClientLoginConfig {
 
     private String loginName;
 
-	private String password;
+    private String password;
 
     public String getLoginName() {
         return loginName;

+ 31 - 0
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/config/InspectionLoginConfig.java

@@ -0,0 +1,31 @@
+package cn.com.qmth.stmms.ms.accesscontrol.config;
+
+/**
+ * @Description: 纪检员配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/10/18
+ */
+public class InspectionLoginConfig {
+
+    private String loginName;
+
+    private String password;
+
+    public String getLoginName() {
+        return loginName;
+    }
+
+    public void setLoginName(String loginName) {
+        this.loginName = loginName;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+}

+ 28 - 2
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/config/LoginConfig.java

@@ -3,21 +3,47 @@ package cn.com.qmth.stmms.ms.accesscontrol.config;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
 
+/**
+ * @Description: 登录配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/10/18
+ */
 @Configuration
 public class LoginConfig {
 
+    /**
+     * 后台admin配置
+     *
+     * @return
+     */
     @Bean
     @ConfigurationProperties(prefix = "app.admin", ignoreUnknownFields = false)
     public AdminLoginConfig adminLoginConfig() {
         return new AdminLoginConfig();
     }
 
+    /**
+     * 采集端admin配置
+     *
+     * @return
+     */
     @Bean
     @ConfigurationProperties(prefix = "app.client", ignoreUnknownFields = false)
     public ClientLoginConfig clientLoginConfig() {
         return new ClientLoginConfig();
     }
+
+    /**
+     * 纪检admin配置
+     *
+     * @return
+     */
+    @Bean
+    @ConfigurationProperties(prefix = "app.inspection", ignoreUnknownFields = false)
+    public InspectionLoginConfig inspectionLoginConfig() {
+        return new InspectionLoginConfig();
+    }
 }

+ 1 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/domain/user/Role.java

@@ -4,7 +4,7 @@ package cn.com.qmth.stmms.ms.core.domain.user;
  * Created by zhengmin on 2016/10/9.
  */
 public enum Role {
-    MARKER("评卷员"), MARK_LEADER("科组长"), ADMIN("管理员"), INSPECTOR("复评专家");
+    MARKER("评卷员"), MARK_LEADER("科组长"), ADMIN("管理员"), INSPECTOR("复评专家"),INSPECTION("纪检员");
 
     private String name;