我正在使用spring数据ldap连接到activedirectory。我已使用域管理员用户凭据连接到ad。application.properties配置为,
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
我已经创建了一个存储库来获取广告数据。
@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将为null。如果我调用findbyemployeeid方法,我得到的是一个空响应。
有人能帮忙吗?为什么?我需要添加任何配置来获取这些自定义广告属性吗?
1条答案
按热度按时间cfh9epnr1#
我是通过3268端口连接到广告的。似乎只有通过端口389连接到ad才能获取某些属性。