Arhn - архитектура программирования

Запрос LDAP к организационной единице со знаком * в заголовке. Как?

У меня проблемы, я думаю, с символом *, находящимся в моей организационной единице, когда я выполняю поиск. Группа подразделений называется WorldWide Offices.

У меня есть циклический запрос, который возвращает всех пользователей, входящих в данную группу. Итак, я набираю название группы, и это возвращает меня к группе. Затем я перебираю группу group.members.

Эти участники будут либо пользователем, либо другой группой. Поэтому, если это не пользователь, я бы снова просмотрел его, чтобы проверить, является ли это группой. Члены группы всегда имеют DistinguishedName, и это все, что мне нужно искать.

У меня есть текущий пользователь с DistinguishedName как CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=Worldwide Offices,DC = Наш домен, DC = ЛОКАЛЬНЫЙ.

Я делаю DirectorySearcher, и мой фильтр

Searcher.Filter = "(&(&(objectClass=user)(!(objectClass=computers)))(distinguishedName=CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=*Worldwide Offices*,DC=OurDomain,DC=LOCAL))

Как видите, я думаю, что тот факт, что наша OU имеет * в названии, является причиной того, что она не находит пользователя. Любая другая OU, в которой нет *, кажется, работает. Вот почему я считаю * проблемой.

Кто-нибудь знает, как обойти *проблему, кроме переименования OU?

15.04.2010

Ответы:


1
Searcher.Filter = "(&(&(objectClass=user)(!(objectClass=computers)))(distinguishedName=CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=\2aWorldwide Offices\2a,DC=OurDomain,DC=LOCAL))

* должен быть экранирован \2a — см. MSDN " Синтаксис фильтра поиска":

Если какие-либо из следующих специальных символов должны отображаться в фильтре поиска как литералы, они должны быть заменены указанной escape-последовательностью.

* => \2a
( => \28
) => \29
\ => \5c
NUL => \00
/ => \2f

Простое экранирование с помощью \ тоже должно работать:

Searcher.Filter = "(&(&(objectClass=user)(!(objectClass=computers)))(distinguishedName=CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=\*Worldwide Offices\*,DC=OurDomain,DC=LOCAL))
15.04.2010

2

Подстановочный знак работает только в том случае, если тип атрибута является строковым. (строка октетов, строка юникода). если вы используете * против атрибута, такого как заданное имя, отображаемое имя, тогда подстановочные знаки будут соблюдаться. Но отличительное имя имеет тип «Отличительное имя», поэтому сервер не будет включать совпадение подстроки.

если вы используете * против категории объекта, dn, отличительного имени... вы можете увидеть, что подстановочный знак не работает.

Ваша логика должна быть изменена.

15.04.2010
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..