From 1674981212b65b4a00b7b9e4ff34ed2919caf997 Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Fri, 16 May 2025 13:21:42 +0800 Subject: [PATCH] 2025-05-16 --- .../TechnicalSpecificationServiceImpl.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java index 0a0893d6..78440514 100644 --- a/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java +++ b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java @@ -36,6 +36,7 @@ import com.spring.modules.sampleManagement.entity.PlmTechnicalSpecificationSheet import com.spring.modules.sampleManagement.service.TechnicalSpecificationService; import com.spring.modules.sys.dao.SysUserDao; import com.spring.modules.sys.entity.SysUserEntity; +import com.spring.modules.sys.service.CheckLdapDirectory; import org.apache.ibatis.session.SqlSession; import org.apache.shiro.SecurityUtils; import org.slf4j.Logger; @@ -87,6 +88,9 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification @Autowired private SqlSession sqlSession; + @Autowired + private CheckLdapDirectory checkLdapDirectory; + //记录日志使用 private static final Logger logger = LoggerFactory.getLogger(TechnicalSpecificationServiceImpl.class); @@ -1128,34 +1132,40 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification @Override public BmUrlData checkUrl(BmUrlData data){ + String account = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getDomainControlAccount(); List addresses=technicalSpecificationMapper.getSysProxyAddress(); boolean falseFlag=true; - for (int i = 0; i 5 ? result.substring(result.length() - 5) : result; - if(!lastFiveChars.contains(".")){ + if (!lastFiveChars.contains(".")) { result += "/"; } } - falseFlag=false; + falseFlag = false; data.setUrl(result); break; } - } if(falseFlag){ throw new RuntimeException("跳转路径未在系统维护,无法跳转!"); } + if (StringUtils.isEmpty(account)){ + throw new RuntimeException("未绑定域控账号!"); + } + if (!checkLdapDirectory.checkUserLdapDirectory(account,data.getUrl().trim())) { + throw new RuntimeException("文件服务权限不足!"); + } return data; }