Browse Source

检查域控账号文件夹权限 可以通过apipost测试了

master
Rui_Li 8 months ago
parent
commit
4d11b794f1
  1. 26
      src/main/java/com/spring/ifs/controller/TestIfsController.java
  2. 29
      src/main/java/com/spring/ifs/data/CheckLdapData.java
  3. 10
      src/main/java/com/spring/modules/sys/service/impl/CheckLdapDirectoryImpl.java

26
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<String, Object> resultMap = new HashMap<String, Object>();
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;
}
}

29
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;
}
}

10
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<String, String> directoryGroupAccount = this.getDirectoryLdapAccount(directoryPath);
logger.info("Folder Group And Account:"+directoryGroupAccount.toString());
//查询用户是否是该文件夹的域控账号或分组
Map<String, String> ldapAccountGroup = this.getLapAccountGroup(username);
//打印日志
logger.info("Ldap Group And Account:"+ldapAccountGroup.toString());
for(String strKey : directoryGroupAccount.keySet()) {
if (ldapAccountGroup.containsKey(strKey)) {
return true;

Loading…
Cancel
Save