SpringBoot App with REST api连接LDAP-自动配置LdapContextSource

SpringBoot App with REST api to connect to LDAP- automatically configure LdapContextSource

我正在开发一个带有一个 REST API 的 SpringBoot 应用程序,以检查我正在连接的 LDAP 实例上是否存在用户。我目前正在从 application.properties 文件中提取 LdapContextSource 属性。 有没有一种方法可以自动配置 LdapContextSource,以便每次调用 API 时都不必设置 LdapContextSource 配置?

@RestController
public class CheckUserController {

@Value("${ldap.base}")
String ldapBase;

@Value("${ldap.url}")
String ldapUrl;

@Value("${ldap.userDn}")
String userDn;

@Value("${ldap.password}")
String ldapPassword;

@Autowired
LdapTemplate ldapTemplate;

@PostMapping(value = "/checkUser")
public ResponseEntity checkUser(@RequestHeader("x-user-id") String userID){

LdapContextSource contextSource = new LdapContextSource();
    contextSource.setBase(ldapBase);
    contextSource.setUrl(ldapUrl);
    contextSource.setUserDn(userDn);
    contextSource.setPassword(ldapPassword);
    contextSource.setPooled(false);
    contextSource.afterPropertiesSet();
    
ldapTemplate.setContextSource(contextSource);

ldapTemplate.search(....search for user)

}
}

当然可以! 请检查此 link:https://www.baeldung.com/spring-data-ldap 我一步一步地跟着它,它完美地工作。这就像使用 JPA 存储库,但您使用的是 LDAP 存储库。