@IvanN777

Как в ldap(Open ldap) можно получить дерево organizationalUnit или хотябы organizationalUnit только непосредственно родителя?

Допутим есть категории

-Работник
--Работник лесного хозяйства
--Работник ит отрасли
---Фронтенд
---Бекенд
--Работник рыбного промысла

Написал код
List<String> nameList = ldapTemplate.search("", "(objectClass=organizationalUnit)",
		new AttributesMapper<String>() {
		@Override
		public String mapFromAttributes(Attributes attributes) throws NamingException {
			String group = "";
			Attribute groupAttr = attributes.get("ou");
			Attribute userAttr = attributes.get("cn");
			if (groupAttr != null) {
				group = groupAttr.get() + "\n";
			}
			return group;
		}

В целом нормально работает, все группы отображает, но теряется иерархия, тоесть дерево вырождается в список.
Если бы я мог как то стрельнуть или все древо, но с возможностью узнать иерархию
Или в фильтре добавить, что искать только непосредственно дочерний, да придется больше дергать лдап, но не критично.
(objectClass=organizationalUnit)
Этот фильтр выбирет все группы, а если бы можно выбрать только дочерние и не глубже я бы мог сделать иерархию

Смотрел по инструкции
https://social.technet.microsoft.com/wiki/contents...
Но там не нашел возможности, возможно кому-то пригодится.
  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
@NortheR73
системный инженер
Используйте параметры SearchBase (откуда начинать поиск) и SearchScope (область поиска - Base, OneLevel или SubTree)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы