如何解决无法使用 spring-data-ldap 从 AD 获取自定义属性
我正在使用 spring-data-LDAP 连接到 Active Directory。我已使用域管理员用户凭据连接到 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 方法时,我得到了响应,但员工 ID 将为空。如果我调用 findByEmployeeID 方法,我会得到一个空响应。
谁能帮忙看看这是为什么?我需要添加任何配置来获取这些自定义 AD 属性吗?
解决方法
我通过端口 3268 连接到 AD。似乎有些属性只能通过端口 389 连接到 AD 才能获取。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。