SSO между Java EE и приложением Cognos - PullRequest
2 голосов
/ 21 января 2011

Описание проблемы: есть две подсистемы.Один из них представляет собой веб-приложение Java EE, а другой - инструмент отчетности Cognos.В настоящее время оба эти приложения предоставляют отдельные страницы входа, которые позволяют пользователям выполнять свои действия в соответствии с ролями, определенными в системе.Пользователи Java EE могут напрямую войти в приложение Java EE, используя его страницу входа.Аналогичным образом, пользователи Cognos могут войти в портал, используя его страницу входа, указав свои учетные данные для внутренней сети.

Существует требование, согласно которому пользователи приложения Java EE должны иметь возможность просматривать отчеты Cognos, щелкнув ссылку URL в веб-приложении Java EE.В настоящее время щелчок по этому URL откроет портал Cognos, запрашивающий учетные данные пользователя.

Я ожидаю решения, которое поможет нам обойти страницу входа в Cognos Portal при нажатии на URL.Это поможет пользователям, вошедшим в приложение Java EE, просматривать отчеты Cognos на новой веб-странице без повторного входа в систему.

Ответы [ 2 ]

2 голосов
/ 21 января 2011
1 голос
/ 24 июля 2012

Для достижения единого входа между приложением и Cognos выполните следующие действия:

(я предполагаю, что вы используете LDAP и Java)

  • Установите Cognos SDK на компьютере разработчика, где у вас уже есть сервер Cognos BI. Чтобы попробовать примеры, прилагаемые к Cognos SDK, вам потребуется JDK. Если вы уже используете Cognos без JDK, Cognos может использовать встроенный JRE, который, к сожалению, не из Oracle. В этом случае вам может потребоваться удалить Cognos, сначала установить Oracle JDK, а затем переустановить Cognos и Cognos SDK. В противном случае вы столкнетесь с некоторыми проблемами несовместимости криптографии.
  • Убедитесь, что вы правильно настроили полное пространство имен провайдера аутентификации, например LDAP.
  • Перейдите к образцу TrustedSignonSample, поставляемому с Cognos SDK. В Cognos 10 образец Java можно найти в $ COGNOS_SDK / java / AuthenticationProvider.
  • Измените TrustedSignonSample.java и установите там свой идентификатор пространства имен LDAP. Поставщик доверенного входа в систему будет использовать это пространство имен, чтобы проверить, существует ли пользователь или нет.
  • Создайте пример, используя предоставленный build.bat, и вы получите файл jar.
  • Прочитайте "readme.txt", который поставляется с образцом, и правильно настройте этого провайдера.
  • Теперь, если вы перейдете на страницу входа в Cognos, вы должны увидеть два варианта выбора пространства имен.
  • Если вы запускаете свое приложение на том же компьютере, что и Cognos, просто создайте файл cookie с соответствующим именем (см. TrustedSignonSample для названия файла cookie) и значением. Вы должны установить значение cookie в качестве текущего пользователя вашего приложения.
  • Вот и все, после настройки файла cookie, если вы перейдете на страницу входа в Cognos и выберете пространство имен настраиваемого доверенного поставщика регистрации, вам не будет предложено войти в систему.
  • Если вы не хотите, чтобы Cognos вообще отображал страницу входа, вы можете настроить пространство имен своего настраиваемого доверенного провайдера входа в систему по умолчанию в конфигурации cognos.
  • Если вы запускаете свое приложение на другом компьютере, а не в Cognos, вам нужно выполнить еще несколько настроек в глобальной конфигурации Cognos, чтобы гарантировать, что оно принимает файлы cookie с этого компьютера / домена.

Для получения дополнительной информации, обратитесь к этой «теме»: http://businessintelligence.ittoolbox.com/groups/technical-functional/cognos-l/the-cookie-trusted_signon_user-is-not-set-4863689 действительно инициировано вами.

Таким образом, я достиг единого входа между Cognos и моим приложением. Я надеюсь, что это поможет вам.

...