Browse Source

修改鉴权

yin 15 giờ trước cách đây
mục cha
commit
fd33d3f30d

+ 2 - 2
stmms-common/src/main/java/cn/com/qmth/stmms/common/utils/VersionInfo.java

@@ -5,7 +5,7 @@ package cn.com.qmth.stmms.common.utils;
  */
 public class VersionInfo {
 
-    public static final String NAME = "1.6.0";
+    public static final String NAME = "2.0.0";
 
-    public static final String DATE = "20250520";
+    public static final String DATE = "20250728";
 }

+ 3 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/admin/SystemController.java

@@ -124,6 +124,9 @@ public class SystemController extends BaseApiController {
                 && u.getRole() != Role.SYS_ADMIN) {
             throw new StatusException("系统授权已过期");
         }
+        if( u.getRole() == Role.SCHOOL_DEV ||u.getRole() == Role.SCANNER ||u.getRole() == Role.SCAN_ADMIN){
+            throw new StatusException("用户角色不正确");
+        }
         u.setLastLoginTime(new Date());
         u.setLastLoginIp(RequestIPUtil.getIpAddress(request));
         u.refreshAccessToken();

+ 4 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/api/interceptor/ApiInterceptor.java

@@ -77,7 +77,7 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
     }
 
     private boolean validate(HttpServletRequest request, HttpServletResponse response, RoleRequire authConfig) {
-        if (authConfig != null && authConfig.value().length > 0) {
+//        if (authConfig != null && authConfig.value().length > 0) {
             AuthInfo simple;
             // 优先按签名模式解析
             SignatureInfo info = authorizationService.buildSignature(request);
@@ -96,10 +96,7 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
                     return buildApiUser(request, response, school);
                 } else if (info.getType() == SignatureType.TOKEN) {
                     User user = userService.findByLoginName(info.getInvoker());
-                    if (user == null || user.getScanTokenInvalidTime() == null || new Date()
-                            .after(user.getScanTokenInvalidTime()) ||
-                            (!info.validate(user.getScanToken())&&!info.validate(user.getAccessToken()))
-                            ) {
+                    if (user == null ||!info.validate(user.getAccessToken())) {
                         try {
                             ObjectMapper mapper = new ObjectMapper();
                             log.warn("api token signature invalud, signature={}, user={}",
@@ -139,8 +136,8 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
             } else {
                 throw ApiException.AUTHORIZATION_UNEXIST;
             }
-        }
-        return true;
+//        }
+//        return true;
     }
 
     private boolean matchRole(RoleRequire authConfig, Role role) {