Единый вход в ActiveDirectory и Java EE

Сценарий:

  1. Мы продаем программное обеспечение Java EE (JBoss + SpringSecurity) крупным корпорациям, которые в основном используют ActiveDirectory.
  2. Наше программное обеспечение Java EE (JBoss) может быть подключено к ActiveDirectory, однако для этого требуется добавление ролей в ActiveDirectory, то есть cn = esp_administrator, cn = Roles, o = company, o = com
  3. Насколько я понимаю, JBoss потребуется учетная запись для «привязки» к ActiveDirectory для выполнения поиска, т.е. cn = admin, cn = Users, o = company, o = com.
  4. Пользователям по-прежнему необходимо входить в наше приложение Java EE вручную (без единого входа).
  5. Скажем, наше приложение Java EE http://javaee-webapp и один из порталов компании http://intranet-portal, скажем, с использованием Atlassian Jira

Как я могу реализовать единый вход с этой настройкой? На ум приходит одно: читать файлы cookie из http://intranet-portal, но это работает, только если наше веб-приложение Java EE является поддоменом http://intranet-portal, то есть http://intranet-portal/javaee-webapp


Я прочитал следующее QA

Единый вход для веб-приложения

Прозрачный сеанс пользователя на нескольких сайтах (один вход + единый вход)

Я не думаю, что клиенты хотят, чтобы мы устанавливали Shibboleth IDProvider только для единого входа.

Что еще у меня есть, кроме опции «Запомнить меня»?


person Lydon Ch    schedule 09.10.2010    source источник


Ответы (1)


Вы действительно можете использовать Shibboleth (или, возможно, OpenSSO). Это может быть довольно сложно, и его необходимо будет развернуть для всех веб-сайтов (поставщиков услуг), которые будут подпадать под действие этого единого входа. Он специально разработан для аутентификации и авторизации SSO, которые не обязательно принадлежат одному и тому же сайту. Если вашим клиентам нужен единый вход в не слишком тесно связанной среде, им понадобится такая технология. (Обратите внимание, что самая сложная часть реализации Shibboleth - это не столько установка программного обеспечения SP или IdP, сколько установление политик в отношении выпуска атрибутов и авторизации: больше об администрировании и политике, чем о технической проблеме).

Если клиентские машины, с которых будут подключаться ваши клиенты, также находятся под их контролем (например, если это все настольные компьютеры Windows, которые компания может настроить), вы можете посмотреть SPNEGO. Это можно сделать для работы с клиентами Windows / Linux / OSX с использованием IE / Firefox (по крайней мере), но вам нужно будет настроить клиентов так, чтобы они указывали на сервер Active Directory (как Kerberos KDC). Это может сбивать с толку, если пользователям приходится делать это на собственном компьютере.

Хотя решение SPNEGO может быть проще, если вы можете контролировать конфигурацию клиентских машин, решение Shibboleth / OpenSSO будет более гибким в этом отношении (и Shibboleth IdP может использовать SPNEGO в качестве механизма аутентификации, если вы хотите все это).

person Bruno    schedule 09.10.2010