1. Загрузите клиентское программное обеспечение, чтобы упростить просмотр структуры каталогов.
Apache Directory Studio
2. Создайте проект Springboot. 3. Представьте пакет банки
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-ldap</artifactId>
</dependency>
4. Файл конфигурации
spring.ldap.urls=ldaps://ip:636(ldap://ip:389)
spring.ldap.base=windows(OU=vvv,DC=qq,DC=hh,DC=com) и Linux (DC=qq,DC=hh,DC=com) Есть небольшая разница.
Spring.ldap.username=windows (имя пользователя хоста@корневое имя домена) и Linux(cn=admin,dc=qq,dc=hh,dc=com)
spring.ldap.password=
5. Добавляйте, удаляйте, изменяйте и проверяйте
Класс сущности
@Data
@Entry(base = "OU=user", objectClasses = {"user", "top", "person", "organizationalPerson"})
public class Person {
// DN путь
@Id
@JsonIgnore
private Name dn;
// общее имя Ориентировочно установлено как номер счета
@Attribute(name = "cn")
@DnAttribute(value = "CN", index = 1)
private String accountName;
// настоящее имя пользователя
@Attribute(name = "sn")
private String userName;
// пароль зашифрованный Обрабатывается в соответствии с правилами шифрования ldap.
@Attribute(name = "unicodePwd")
private String userPassword;
}
@Data
@Entry(base = "OU=group", objectClasses = {"top", "group"})
public class Orign {
// DN путь
@Id
@JsonIgnore
private Name dn;
private String name;
private List<Name> member;
}
слой
public interface PersonRepository extends CrudRepository<Person, Name> {
}
контроллер Опросить всех пользователей
@GetMapping(value = "/person")
public JsonResult findAll() {
Iterable<Person> all = personRepository.findAll();
return new JsonResult(all);
}
Добавить пользователя
Добавить Не устанавливайте dn для пользователей при использовании user.
Если существует связь между пользователем и организацией,Сначала сохраните пользователя,Затем запросите организацию через ее dn.,Затем получите членов организации (коллекцию),Затем добавьте имя пользователя к члену организации.,Затем вызовите метод сохранения.
Изменить пользователя
Изменить пользователь передает dn и напрямую вызывает метод сохранения (имеет ли root интерфейс dn, автоматически определяется, добавлять или восстанавливать)