Spring Ldap
- Spring Ldap是一个用来简化LDAP操作的开源框架
- Spring Ldap中的ODM技术可以像Hibernate的ORM一样将对象映射到AD域上
- 该框架通过提供和ORM中相似的机制对LDAP相关操作进行封装,主要包括:
- 类比SessionFactory的LdapContextSource
- 类比HibernateTemplate等的LdapTemplate
- 伪事务支持,能否与tx框架的TransactionManager混用未知
- 类比JPA的使用@Entry、@Attribute、@Id标注的ODM——Object Directory Mapping
- 本文的目的是通过Ldap操作获取AD域的组和用户
- 文档:http://docs.spring.io/spring-ldap/docs/2.0.4.RELEASE/reference/
本文主要使用ODM技术映射对象,简化ObjectMapping操作,当然也可以不定义对象自己定义AttributesMapper,相关内容可以查看官方文档。
ORM映射
1.映射组织单位organizationalUnit
@Entry(objectClasses = { "organizationalUnit", "top" })
public final class Group {
@Id
@JsonIgnore // Name无法完全被转换成json字符串,所以不要转换
private Name dn;
@Attribute(name = "ou")
private String groupName;
@Attribute(name = "description")
private String description;
// getter setter tostring...
}
2.映射用户
@Entry(objectClasses = { "organizationalPerson", "person", "top", "user" })