我正在使用spring-data-LDAP连接到Active Directory。我已经使用域管理员用户凭据连接到AD。应用程序。属性配置为,
spring.ldap.urls=ldap://xxx.xxx.xxx.xxx:3268
spring.ldap.username=adprofile
spring.ldap.password=Admin@123#
spring.ldap.base=DC=TEST,DC=COM
spring.data.ldap.repositories.enabled=true
我已经创建了一个存储库来获取AD数据。
@Repository
public interface EmployeeRepo extends LdapRepository<Employee> {
List<Employee> findByCn(String cn);
List<Employee> findBySn(String sn);
List<Employee> findByEmployeeID(String id);
}
我的雇员实体是
@Entry(base = "ou=Employees", objectClasses = {"top", "person", "organizationalPerson", "user"})
public class Employee {
@Id
@JsonIgnore
private Name id;
public @Attribute(name = "CN") String cn;
public @Attribute(name = "sn") String sn;
public @Attribute(name = "EmployeeID") String employeeID;
-- getters and setters
}
当我调用findByCn时方法,我得到一个响应,但employeeID将为空。如果调用findByEmployeeID方法我得到一个空的响应。
有谁能帮我一下吗?我需要添加任何配置来获取这些自定义AD属性吗?
我通过端口3268连接到AD。似乎只有通过端口389连接到AD才能获取某些属性.