Опубликован: 04.07.2008 | Уровень: профессионал | Доступ: платный
Дополнительный материал 2:

Пример программы DSAPI

Это приложение содержит пример DSAPI-программы, иллюстрирующий аутентификацию Web-пользователя Domino через учетную запись пользователя в операционной системе. Этот пример реализует метод обеспечения единой регистрации на основе DSAPI, описанный в "лекции 7, "Принцип единого входа"" .

В целом эта DSAPI-программа содержит код для использования идентификатора и пароля пользователя в Windows-сети пользователя при запуске фильтра на сервере Domino на основе Windows. При запуске на сервере Domino на основе UNIX, применяется идентификатор и пароль пользователя в системе UNIX.

Пример содержит три файла: основная программа, код для Windows и код для UNIX. Полный исходный код, make-файлы и файлы определений представлены в пакете инструментов Domino 6 C API в папке Samples, в подпапке Admin.

Настройка среды

  1. Для использования этого DSAPI-фильтра он должен быть зарегистрирован на сервере Domino в соответствии с описанием, приведенным в разделе "Регистрация DSAPI-фильтра в Domino".
  2. Пользователь, выполняющий тестирование этой программы, должен иметь учетную запись пользователя Domino на этом сервере Domino, а также учетную запись пользователя в операционной системе на компьютере, на котором запущен сервер. Сведения о создании учетной записи пользователя Domino для существующей учетной записи пользователя в операционной системе см. в разделе "Создание учетной записи пользователя Domino для существующего пользователя операционной системы".
  3. Для тестирования этой программы попробуйте открыть базу данных на сервере Domino из Web-браузера. Убедитесь в корректности настройки ACL этой базы данных. Для удобства установите уровень доступа Reader (Читатель) для учетной записи Default и уровень доступа No Access (Нет доступа) для учетной записи Anonymous (Аноним). Установка уровня доступа No Access для учетной записи Anonymous (Аноним) вызывает принудительную аутентификацию.

Регистрация DSAPI-фильтра в Domino

  1. Скомпилируйте пример программы и скопируйте DLL в программный каталог сервера Domino.
  2. Запустите сервер Domino.
  3. Из Notes UI откройте базу данных каталога сервера Lotus Domino (базу данных names.nsf).
  4. В представлении Server (Сервер) > Servers (Серверы) откройте документ Server данного сервера.
  5. На вкладке Internet Protocols (интернет-протоколы) введите имя DLL в поле имен файлов DSAPI-фильтров.
  6. Сохраните документ.

Создание учетной записи пользователя Domino для существующего пользователя операционной системы

  1. Запустите сервер Domino.
  2. Запустите Domino Administrator.
  3. Убедитесь в том, что поле Server (Сервер) указывает на сервер, а не на Local. Если оно указывает на Local, измените это значение в меню File (Файл) – Open Server (Открыть сервер) таким образом, чтобы оно указывало на сервер Domino.
  4. Выделите представление People (Люди) на левой панели.
  5. В выпадающем меню People (Люди) на правой панели выберите действие Register (Регистрация).
  6. Введите значения в поля First name (Имя), Last name (Фамилия), Short name (Короткое имя) и Password (Пароль). Короткое имя должно совпадать с именем пользователя в учетной записи операционной системы.
  7. Нажмите кнопку Register (Регистрация) для создания пользователя Domino.
  8. Закройте Domino Administrator.
  9. Обновите или отключите сервер Domino.

Запуск примера DSAPI-программы secdom

Примечание (только для серверов Windows). Для аутентификации с использованием DSAPI-фильтра в Windows, для пользователя операционной системы должна быть включена политика безопасности пользователя Act as part of the operating system (Работа в режиме операционной системы). Если определены политики уровня домена, они также должны назначать пользователю это право.

Если для пользователя Windows не установлена эта политика безопасности, аутентификация будет неуспешной и в консоль сервера будет выведена ошибка.

Чтобы назначить политику безопасности пользователя Windows для определенного пользователя, просмотрите документацию Windows или обратитесь к системному администратору Windows.

  1. Включите сервер Lotus Domino и убедитесь в том, что задача http server запущена.

    В консоли сервера должно появиться следующее сообщение:

    DSAPI Operating System Authentication Filter Loaded successfully.
  2. Запустите Web-браузер на любом сервере Domino или другом компьютере.
  3. Введите URL <Domino-server>/<Domino-server-database>, чтобы открыть базу данных через Web, где <Domino-server> – имя сервера Domino (также можно использовать IP-адрес), а <Domino-server-database> – имя базы данных.

    Например: dserver/dsdatabase.nsf

  4. На экране Enter Network Password (Ввод сетевого пароля) введите имя и пароль пользователя, заданные в учетной записи операционной системы.
    • Если сервер Domino запущен в системе Windows NT/2000, следует ввести имя пользователя следующим образом:
      <operating-system-user-name>@<operating-system-domain>

      Например: jdoe@os_domain

    • Если сервер Domino запущен в системе UNIX, имя пользователя вводится следующим образом:
      <operating-system-user-name>

      Например: jdoe

  5. Нажмите OK для выполнения аутентификации.
  6. Должно появиться содержимое базы данных.
Антон Чурков
Антон Чурков
Россия, Владимир, Владимирский государственный университет, 2002
Елена Коппалина
Елена Коппалина
Россия, г. Губкинский