Настройка аутентификации

Материал из Course Orchestra
Перейти к: навигация, поиск
Showcase

Создание решений на КУРС:Showcase

Showcase поддерживает два способа аутентификации:

  1. собственнаая аутентификация Showcase
  2. и аутентификация через Mellophone.

Аутентификация через Mellophone

Наибольшее преимущество даёт использование Mellophone для решения задачи аутентификации в Showcase. Для настройки связки Showcase c Mellophone необходимо прописать следующие параметры в общем файле general/generalapp.properties:

Параметр Назначение Обязательный Пример значения Значение по умолчанию
security.mellophoneurl Внешний адрес для Mellophone — адрес, который должен быть доступен из пользовательского браузера. Да http://share.curs.ru:8180/mellophone -
local.security.mellophoneurl Внутренний адрес для Mellophone — адрес, который должен быть доступен с сервера приложения. Используется в случае, если Mellophone расположен в той же подсети, что и сервер приложений (в частности — на localhost), и если доступ к внешним адресам с сервера приложений закрыт. Нет http://localhost:8180/Mellophone равно значению security.authserverurl

Собственная аутентификация

При отсутствии настройки на работу с Mellophone для входа в Showcase следует применять следующие параметры:

  • пользователь — master,
  • пароль — master.

Дополнительных пользователей можно добавить, прописав в файл user.properties соответствующие записи. Также можно файл user.properties поместить в папку юзердаты general/WEB-INF/, и он будет применен к текущему запущенному Showcase после его перезаргузки.

Windows-аутентификация (по протоколу Kerberos)

Также в ShowCase предусмотрена возможность автоматической аутентификации без использования Mellophone, где в качестве пары логин/пароль система использует информацию, которую ввел пользователь при входе в Windows. При переходе по ссылке на приложение происходит запрос информации к Active Directory по протоколу Kerberos, и в случае успешного подтверждения разрешений для работы пользователя с приложением, происходит автоматический вход в систему. Более подробного описания взаимодействия сервера приложения, Active Directory и пользователя можно прочитать по ссылке: http://www.oszone.net/4188_1/Kerberos или посмотреть видео: http://www.youtube.com/watch?v=kp5d8Yv3-0c Данный функционал внедрен в Showcase в версии старше 3.0.1.3469.

Настройки ShowCase для работы с библиотекой spnego (шифрование Kerberos):

  • Добавить файл krb5.conf по адресу %APP%/WEB-INF/classes со следующими строками:
[libdefaults]
   default_realm = %DOMAIN%
   default_tkt_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
   default_tgs_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
   permitted_enctypes   = aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc

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

  • Добавить файл login.conf по адресу %APP%/WEB-INF/classes со следующими строками:
spnego-client {
	com.sun.security.auth.module.Krb5LoginModule required;
};

spnego-server {
	com.sun.security.auth.module.Krb5LoginModule required
	storeKey=true
	isInitiator=false;
};
  • В app.properties, которая находится в той же папке, что и дефолтная userdata, приписать в конце две строчки:
spnego.preauth.username = %LOGIN%
spnego.proauth.password = %PASSWORD%

, где указать в качестве %LOGIN% и %PASSWORD% данные одного из пользователей, который находится в домене %DOMAIN%

  • В контроллере домена зарегистрировать соответствующие SPN для сервера Tomcat следующими командами:
setspn.exe -A HTTP/%SERVER_NAME% %DOMAIN%\%LOGIN% 
setspn.exe -A HTTP/%SERVER_FULLNAME% %DOMAIN%\%LOGIN%

, где %DOMAIN%\%LOGIN% - доменная учетная запись пользователя из пункта 3, %SERVER_NAME% - сокращенное наименование сервера, на котором расположен сервер приложений (например, risk0), %SERVER_FULLNAME% - полное наименование сервера (например, risk0.run.all.corp)

  • Выдать права на чтение всех каталогов AD по всем доменам у учетки %DOMAIN%\%LOGIN%. Доверенные домены он умеет считывать, поэтому одним из вариантов проверки чтения может стать набранная cmd команда "nltest /domain_trusts", которая возвращает перечень всех доверенных доменов для windows-пользователя, из-под которого она запускается.
  • Добавить ресурс в зону интрасети для IE для всех пользователей приложения. Сервис -> Свойства браузера -> Безопасность -> Местная Интрасеть -> Сайты
  • Заменить login.jsp на указанный в архиве.
  • В настройках Tomcat <tomcat home>\conf\server.xml указать новый параметр maxHttpHeaderSize для коннектора: <Connector port="8080" maxHttpHeaderSize="48000" ...> . У Tomcat значение по умолчанию 8192 байт, в то время как у некоторых пользователей тикет может создаваться большего размера.

Примеры всех файлов настроек приведены в прикрепленном файле [1].