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 存储库。
我正在开发一个带有一个 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 存储库。