Россия, Владимир, Владимирский государственный университет, 2002 |
Пример программы DSAPI
Это приложение содержит пример DSAPI-программы, иллюстрирующий аутентификацию Web-пользователя Domino через учетную запись пользователя в операционной системе. Этот пример реализует метод обеспечения единой регистрации на основе DSAPI, описанный в "лекции 7, "Принцип единого входа"" .
В целом эта DSAPI-программа содержит код для использования идентификатора и пароля пользователя в Windows-сети пользователя при запуске фильтра на сервере Domino на основе Windows. При запуске на сервере Domino на основе UNIX, применяется идентификатор и пароль пользователя в системе UNIX.
Пример содержит три файла: основная программа, код для Windows и код для UNIX. Полный исходный код, make-файлы и файлы определений представлены в пакете инструментов Domino 6 C API в папке Samples, в подпапке Admin.
Настройка среды
- Для использования этого DSAPI-фильтра он должен быть зарегистрирован на сервере Domino в соответствии с описанием, приведенным в разделе "Регистрация DSAPI-фильтра в Domino".
- Пользователь, выполняющий тестирование этой программы, должен иметь учетную запись пользователя Domino на этом сервере Domino, а также учетную запись пользователя в операционной системе на компьютере, на котором запущен сервер. Сведения о создании учетной записи пользователя Domino для существующей учетной записи пользователя в операционной системе см. в разделе "Создание учетной записи пользователя Domino для существующего пользователя операционной системы".
- Для тестирования этой программы попробуйте открыть базу данных на сервере Domino из Web-браузера. Убедитесь в корректности настройки ACL этой базы данных. Для удобства установите уровень доступа Reader (Читатель) для учетной записи Default и уровень доступа No Access (Нет доступа) для учетной записи Anonymous (Аноним). Установка уровня доступа No Access для учетной записи Anonymous (Аноним) вызывает принудительную аутентификацию.
Регистрация DSAPI-фильтра в Domino
- Скомпилируйте пример программы и скопируйте DLL в программный каталог сервера Domino.
- Запустите сервер Domino.
- Из Notes UI откройте базу данных каталога сервера Lotus Domino (базу данных names.nsf).
- В представлении Server (Сервер) > Servers (Серверы) откройте документ Server данного сервера.
- На вкладке Internet Protocols (интернет-протоколы) введите имя DLL в поле имен файлов DSAPI-фильтров.
- Сохраните документ.
Создание учетной записи пользователя Domino для существующего пользователя операционной системы
- Запустите сервер Domino.
- Запустите Domino Administrator.
- Убедитесь в том, что поле Server (Сервер) указывает на сервер, а не на Local. Если оно указывает на Local, измените это значение в меню File (Файл) – Open Server (Открыть сервер) таким образом, чтобы оно указывало на сервер Domino.
- Выделите представление People (Люди) на левой панели.
- В выпадающем меню People (Люди) на правой панели выберите действие Register (Регистрация).
- Введите значения в поля First name (Имя), Last name (Фамилия), Short name (Короткое имя) и Password (Пароль). Короткое имя должно совпадать с именем пользователя в учетной записи операционной системы.
- Нажмите кнопку Register (Регистрация) для создания пользователя Domino.
- Закройте Domino Administrator.
- Обновите или отключите сервер Domino.
Запуск примера DSAPI-программы secdom
Примечание (только для серверов Windows). Для аутентификации с использованием DSAPI-фильтра в Windows, для пользователя операционной системы должна быть включена политика безопасности пользователя Act as part of the operating system (Работа в режиме операционной системы). Если определены политики уровня домена, они также должны назначать пользователю это право.
Если для пользователя Windows не установлена эта политика безопасности, аутентификация будет неуспешной и в консоль сервера будет выведена ошибка.
Чтобы назначить политику безопасности пользователя Windows для определенного пользователя, просмотрите документацию Windows или обратитесь к системному администратору Windows.
- Включите сервер Lotus Domino и убедитесь в том, что задача http server запущена.
В консоли сервера должно появиться следующее сообщение:
DSAPI Operating System Authentication Filter Loaded successfully.
- Запустите Web-браузер на любом сервере Domino или другом компьютере.
- Введите URL <Domino-server>/<Domino-server-database>, чтобы открыть базу данных через Web, где <Domino-server> – имя сервера Domino (также можно использовать IP-адрес), а <Domino-server-database> – имя базы данных.
- На экране Enter Network Password (Ввод сетевого пароля) введите имя и пароль пользователя, заданные в учетной записи операционной системы.
- Если сервер Domino запущен в системе Windows NT/2000, следует ввести имя пользователя следующим образом:
<operating-system-user-name>@<operating-system-domain>
Например: jdoe@os_domain
- Если сервер Domino запущен в системе UNIX, имя пользователя вводится следующим образом:
<operating-system-user-name>
Например: jdoe
- Если сервер Domino запущен в системе Windows NT/2000, следует ввести имя пользователя следующим образом:
- Нажмите OK для выполнения аутентификации.
- Должно появиться содержимое базы данных.