diff --git a/src/main/java/com/spring/ifs/controller/TestIfsController.java b/src/main/java/com/spring/ifs/controller/TestIfsController.java index 3540bf74..7bd30cbd 100644 --- a/src/main/java/com/spring/ifs/controller/TestIfsController.java +++ b/src/main/java/com/spring/ifs/controller/TestIfsController.java @@ -8,6 +8,7 @@ import com.spring.modules.part.entity.APIEntity.PartIfsInventory; import com.spring.modules.part.entity.APIEntity.RecipeIfsAlternative; import com.spring.modules.part.entity.APIEntity.RecipeIfsHeader; import com.spring.modules.part.entity.APIEntity.RecipeIfsItem; +import com.spring.modules.sys.service.CheckLdapDirectory; import ifs.fnd.ap.APException; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -42,6 +43,8 @@ public class TestIfsController { private RecipeServiceBeanTest recipeServiceBean; @Autowired private ListableBeanFactory listableBeanFactory; + @Autowired + private CheckLdapDirectory checkLdapDirectory; /** @@ -2150,4 +2153,27 @@ public class TestIfsController { } + /** + * @description: 检查用户是否有权 + * @author LR + * @date 2025/5/13 09:10 + * @version 1.0 + */ + @PostMapping(value = "/checkUserLdapDirectory") + public Object checkUserLdapDirectory(@RequestBody CheckLdapData inData) { + Map resultMap = new HashMap(); + try { + boolean checkFlag = checkLdapDirectory.checkUserLdapDirectory(inData.getUsername(), inData.getDirectoryPath()); + resultMap.put("checkFlag", checkFlag); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + + + } \ No newline at end of file diff --git a/src/main/java/com/spring/ifs/data/CheckLdapData.java b/src/main/java/com/spring/ifs/data/CheckLdapData.java new file mode 100644 index 00000000..8407bdd9 --- /dev/null +++ b/src/main/java/com/spring/ifs/data/CheckLdapData.java @@ -0,0 +1,29 @@ +package com.spring.ifs.data; + +/** + * @author LR + * @date 2025年05月13日 09:08 + */ +public class CheckLdapData { + private String username; + private String directoryPath; + + public CheckLdapData() { + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getDirectoryPath() { + return directoryPath; + } + + public void setDirectoryPath(String directoryPath) { + this.directoryPath = directoryPath; + } +} diff --git a/src/main/java/com/spring/modules/sys/service/impl/CheckLdapDirectoryImpl.java b/src/main/java/com/spring/modules/sys/service/impl/CheckLdapDirectoryImpl.java index 8a4e0609..ddcb7873 100644 --- a/src/main/java/com/spring/modules/sys/service/impl/CheckLdapDirectoryImpl.java +++ b/src/main/java/com/spring/modules/sys/service/impl/CheckLdapDirectoryImpl.java @@ -1,6 +1,9 @@ package com.spring.modules.sys.service.impl; +import com.spring.ifs.bean.BaseSearchBean; import com.spring.modules.sys.service.CheckLdapDirectory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -35,12 +38,19 @@ public class CheckLdapDirectoryImpl implements CheckLdapDirectory { @Value("${spring.ldap.password}") private String ldapPassword; + private static final Logger logger = LoggerFactory.getLogger(CheckLdapDirectoryImpl.class); + @Override public boolean checkUserLdapDirectory(String username, String directoryPath) { + logger.info("Checking the folder permission for the user:"+username); + logger.info("Checking the folder permission for the directory:"+directoryPath); //查询文件的域控账号或分组 Map directoryGroupAccount = this.getDirectoryLdapAccount(directoryPath); + logger.info("Folder Group And Account:"+directoryGroupAccount.toString()); //查询用户是否是该文件夹的域控账号或分组 Map ldapAccountGroup = this.getLapAccountGroup(username); + //打印日志 + logger.info("Ldap Group And Account:"+ldapAccountGroup.toString()); for(String strKey : directoryGroupAccount.keySet()) { if (ldapAccountGroup.containsKey(strKey)) { return true;