объектный класс ldap с атрибутом "тип контакта" - PullRequest
2 голосов
/ 04 декабря 2011

Попытка сделать что-то с OpenLDAP, которая должна быть очень простой, просто не может найти четкого ответа. Я должен быть в состоянии организовать атрибуты контактов любого человека в соответствии с его "типом". Например, электронная почта будет иметь тип 6. Поэтому, если я хочу отправить электронное письмо всем членам моего подразделения, я бы выбрал те, которые имеют адрес типа 6.

, поскольку атрибуты LDAP - это имя, пара значений, я не вижу, как назначить дополнительное свойство для адреса контакта, но это кажется достаточно распространенной проблемой. Есть предложения?

1 Ответ

1 голос
/ 04 декабря 2011

Атрибуты в модели сервера каталогов действительно являются значениями name [необязательный параметр]. Для выполнения описанной вами задачи вы можете назначить другой атрибут записи. RFC2798 определяет тип атрибута employeeType ( link ) с синтаксисом DirectoryString и правилом соответствия на равенство caseIgnoreMatch. Возможно, этот атрибут может быть использован для ваших целей. Если вы присвоили атрибут как:

employeeType: type 6

клиент LDAP затем найдет всех этих сотрудников с фильтром, подобным

(&(employeeType=type 6)(objectClass=inetOrgPerson)).

Если у вас возникли проблемы с соответствием caseIgnoreMatch, вы можете указать, что сервер использует caseExactMatch, используя расширяемый фильтр сопоставления, например:

(&(employeeType:caseExactMatch:=type 6)(objectClass=inetOrgPerson))

employeeType является многозначным, поэтому у сотрудников может быть более одного employeeType. Любое значение, которое является допустимым DirectoryString , может быть присвоено employeeType.

...