Browse Source

场景权限校验bug修复

dsx 2 years ago
parent
commit
b614a061ef
1 changed files with 10 additions and 8 deletions
  1. 10 8
      src/main/java/com/fdkankan/scene/Interceptor/CheckPermitAspect.java

+ 10 - 8
src/main/java/com/fdkankan/scene/Interceptor/CheckPermitAspect.java

@@ -90,14 +90,6 @@ public class CheckPermitAspect {
 			throw new BusinessException(ErrorCode.FAILURE_CODE_5033);
 		}
 
-		//校验场景用户是否与当前登录用户相同,相同则跳出
-		if(Objects.isNull(scenePlus.getUserId())){
-			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
-		}
-		if(scenePlus.getUserId().equals(user.getId())){
-			return;
-		}
-
 		//如果上面场景用户与当前用户不匹配,需要校验当前用户是否拥有某些角色,从而可以访问此场景
 		List<UserRole> list = userRoleService.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, user.getId()));
 		Set<Long> roleIdSet = null;
@@ -121,9 +113,19 @@ public class CheckPermitAspect {
 					|| Objects.isNull(sceneUser) || Objects.isNull(sceneUser.getCompanyId())
 					|| !currentUser.getCompanyId().equals(sceneUser.getCompanyId())){
 				throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+			}else{
+				return;
 			}
 		}
 
+		//校验场景用户是否与当前登录用户相同,相同则跳出
+		if(Objects.isNull(scenePlus.getUserId())){
+			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+		}
+		if(scenePlus.getUserId().equals(user.getId())){
+			return;
+		}
+
 	}
 
 }