Единая регистрация (единый вход) (SSO) и соответствие имен в Domino
6.1.3 Конфигурация базы Directory Assistance в LDAP (шлюз)
В этом подразделе описывается конфигурация базы данных Directory Assistance.
Конфигурация SSO
Выберите пункт Directory Assistance Basic (Общие) SSO Configuration (Конфигурация SSO). В документе Directory Assistance в версии 7 появилось новое поле, позволяющее задать имя атрибута LDAP, применяемого в качестве имени пользователя LTPA, как показано на рис. 6.15.
Параметр в окне Directory Assistance контролирует имя пользователя LTPA из директории LDAP, а не из локальной базы Domino Directory. Локальную базу Domino Directory мы сконфигурировали на первом этапе (см. подраздел "Конфигурирование Web SSO").
Конфигурация контекста имен
Выберите пункт Directory Assistance Naming Context (Rules) [Контекст имен (правила)]. На закладке Naming Context (Rules) [Контекст имен (правила)] выберите вариант Yes в столбце Trusted for Credentials (Доверенный для идентификационной информации), как показано на рис. 6.16. Это необходимо для аутентификации.
увеличить изображение
Рис. 6.16. Установка значения в столбце Naming Context (Rules) [Контекст имен (правила)]
Атрибут конфигурации Notes
Выберите пункт Directory Assistance LDAP Attribute for Notes (Атрибут для Notes). Здесь конфигурация становится несколько более сложной. До сих пор мы ставили флажки и вводили имена. Теперь мы должны сказать Domino, что имя в маркере LTPA — это не то имя, которое должно использоваться для контроля доступа и в функции @UserName.
Когда сервер Domino производит аутентификацию с применением имени в маркере LTPA, пользователь идентифицируется как uid=ds,o=groofty. Помните, что данный пользователь не имеет документа Person в текущей базе Domino Directory. Аутентификация основывается на LDAP Directory Assistance. Пока мы не укажем системе Domino, что данное имя не следует применять в системе безопасности, сервер использует имя, взятое из маркера LTPA. Например, в базе данных есть документы с полями Read Access (Доступ для чтения). В этих полях хранятся имена пользователей, например, cn=Dieter Stalder/o=Titanium. Domino сравнивает имя из маркера LTPA (uid=ds) с именем Notes (cn=Dieter) и не обнаруживает совпадения. Следовательно, доступа мы не получим. Для решения этой проблемы существует 2 варианта:
- Использовать внешнее имя. Добавьте имя uid=ds/o=groofty в поле Reader, и Domino корректно произведет аутентификацию и предоставит доступ. Хотя данное решение и не является рекомендуемым, оно работает.
- Заставить Notes преобразовать внешнее имя в имя Notes. Для этого мы настраиваем атрибут, который возвращает имя Notes (distinguished name, DN).
Нам нужно изменить конфигурацию сервера LDAP, но сначала нам нужно добавить имя атрибута LDAP в базу Directory Assistance, как показано на рис. 6.17. Именем атрибута является (или будет являться) owner. Сохраните документ Directory Assistance в сервере приложений Domino и перейдите к LDAP-серверу Domino.
Изменение документа Person при помощи агента
В документ Person нам нужно добавить поле, в котором хранится каноническое имя пользователя (cn=Dieter Stalder/o=Titanium). Такое поле пока не существует, поэтому нам нужно создать его. Чтобы не изменять дизайна формы документа Person, мы будем использовать поле Owners (Владельцы) закладки Administration (Администрирование), а затем запустим агент, который скопирует это поле в другое поле, которое можно сделать в LDAP (рис. 6.18).
Первым значением в поле Owners (Владельцы) должно быть значение из поля User name (Имя пользователя). Поле Owners является полем типа Authors. При сохранении документа Person имя сохраняется в каноническом формате (cn=Dieter Stalder/0=Titanium).
Далее мы копируем значение из поля Owner документа Person в поле LDAPOwner. В данном примере мы создадим агент с инструкцией копирования.
В Domino Directory переключитесь на представление People (Люди). Затем выберите пункт меню Create (Создать) Agent (Агент).
Далее выделите все документы Person и запустите агент. Теперь во всех полях LDAPOwner будет каноническое имя Notes (рис. 6.19).
Документ Configuration: LDAP
Теперь мы настроим соответствие атрибута owner в LDAP полю LDAPOwner в Notes.
Выполните следующие шаги:
- Откройте заданный по умолчанию документ Configuration * = [All Servers].
- Перейдите на закладку LDAP.
- Нажмите Select Attribute Types (Выбрать типы атрибутов).
- Нажмите New (Новый) в нижнем окне, как показано на рис. 6.20.
- Введите в окно New Field (Новое поле) значение owner.
- Нажмите ОК. Теперь в список имен полей входит новое имя, owner, в столбце LDAP Attribute Туре и LDAPOwner - в полях Domino
- Сохраните изменения.
- Перезапустите сервер LDAP.
6.1.4 Проверка LDAP при помощи утилиты ldapsearch
Проверьте конфигурацию при помощи утилиты ldapsearch. Эта утилита находится в папках \Lotus\Notes или \Lotus\Domino. Введите поисковое значение, относящееся к пользователю, и утилита вернет все атрибуты, как это показано в примере 6.1.
ldapsearch -h ldap.stdi.com "cn=dieter stalder" CN=Dieter Stalder,O=Titanium cn=Dieter Stalder cn=ds mail=DieterStalder@stdi.com owner=CN=Dieter Stalder,O=Titanium usercertificate;binary=NOT ASCII objectclass=dominoPerson objectclass=inetOrgPerson objectclass=organizationalPerson objectclass=person objectclass=top dominocertificate=03009702 9A0DC617 0AG0161C G002E3F9 ltpa-usrnm=uid=DieterStalder,o=groofty givenname=Dieter sn=Stalder uid=DStalder maildomain=TitaniumПример 6.1. Результаты поиска пользователя поисковой системой LDAP
Убедитесь, что LDAP возвращает информацию о пользователе на основе внешнего идентификатора пользователя, как показано в примере 6.2.
ldapsearch -h ldap.stdi.com -a always -b "uid=ds,o=groofty" objectclass=* CN=Dieter Stalder,O=Titanium cn=Dieter Stalder cn=ds mail=dstalder@stdi.com owner=CN=Dieter Stalder,O=TitaniumПример 6.2. Информация о пользователе на основе внешнего идентификатора
За полным описанием параметров утилиты обращайтесь к теме "ldapsearch utility" справочной базы данных Lotus Domino 7 Administrator Help no адресу http://www.lotus.com/ldd/doc/domino_notes/7.0/help7 _admin.nsf/