This commit is contained in:
s2042968 2025-01-07 14:59:01 +08:00
commit 8fe9b3e356
4 changed files with 16 additions and 13 deletions

View File

@ -28,20 +28,21 @@ public class LoginInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 首先校验token // 首先校验token
boolean isTokenValid = checkToken(request, response); boolean isTokenValid = checkToken(request, response);
if (!isTokenValid) { if (!isTokenValid) {
return false; return false;
} }
return checkSysAdminOperation(request); return checkSysAdminOperation(request, response);
} }
private boolean checkSysAdminOperation(HttpServletRequest request) { private boolean checkSysAdminOperation(HttpServletRequest request, HttpServletResponse response) {
String requestURI = request.getRequestURI(); // String requestURI = request.getRequestURI();
if (requestURI.startsWith("/data/ed/prj")) { // if (requestURI.startsWith("/data/ed/prj") && !UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue())) {
return UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue()); // log.warn("{}没有层级操作权限,当前用户类型是{}", UserThreadLocal.getUsername(), UserThreadLocal.getAdminType());
} // response.setStatus(HttpServletResponse.SC_FORBIDDEN);
// return false;
// }
return true; return true;
} }
@ -49,7 +50,7 @@ public class LoginInterceptor implements HandlerInterceptor {
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
if (token == null) { if (token == null) {
log.error("Authorization header is null"); log.error("Authorization header is null");
response.setStatus(401); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false; return false;
} else { } else {
token = token.substring(7); token = token.substring(7);
@ -57,13 +58,13 @@ public class LoginInterceptor implements HandlerInterceptor {
boolean result = isTokenValid(token); boolean result = isTokenValid(token);
if (!result) { if (!result) {
log.error("Invalid token"); log.error("Invalid token");
response.setStatus(401); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false; return false;
} else { } else {
Claims claims = TokenUtil.getLoginInfo(token); Claims claims = TokenUtil.getLoginInfo(token);
if (claims == null) { if (claims == null) {
log.error("User info is missing"); log.error("User info is missing");
response.setStatus(401); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return false; return false;
} else { } else {
UserLoginInfo userLoginInfo = new UserLoginInfo(); UserLoginInfo userLoginInfo = new UserLoginInfo();

View File

@ -184,6 +184,7 @@ public class CommonService {
.setFileName(folderName) .setFileName(folderName)
.setFileVersion(FILE_START_VERSION) .setFileVersion(FILE_START_VERSION)
.setParentId(parentId) .setParentId(parentId)
.setFileType("文件夹")
.setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr)) .setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
.setFileTime(nowTimeStr) .setFileTime(nowTimeStr)
.setPrjDir(isPrjDir) .setPrjDir(isPrjDir)

View File

@ -436,7 +436,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath) List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
.eq(EdFileInfo::getPrjDir, true) .eq(EdFileInfo::getPrjDir, true)
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)); .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code).or().eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code));
Set<String> unpublishFiles = new HashSet<>(); Set<String> unpublishFiles = new HashSet<>();
for (EdFileInfo edFileInfo : edFileInfos) { for (EdFileInfo edFileInfo : edFileInfos) {
String filePath = edFileInfo.getFilePath(); String filePath = edFileInfo.getFilePath();

View File

@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl; package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.electromagnetic.industry.software.common.enums.FilePermission; import com.electromagnetic.industry.software.common.enums.FilePermission;
import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.common.util.UserThreadLocal;
@ -36,8 +37,8 @@ public class PermissionServiceImpl implements PermissionService {
List<String> roleIds = getRoles(userId); List<String> roleIds = getRoles(userId);
// 只有当 roleIds 不为空且不为 null 才添加 in 条件 // 只有当 roleIds 不为空且不为 null 才添加 in 条件
if (roleIds == null || roleIds.isEmpty()) { if (CollUtil.isEmpty(roleIds)) {
return transToMap(new ArrayList<>()); return new HashMap<>();
} }
LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.select(RolePermission::getPermissionCode) queryWrapper1.select(RolePermission::getPermissionCode)