Я использую IBM Cognos Business Intelligence Server 10.2.1 (без других дополнительных программных продуктов) на WebSphere Application Server 7, оба программного обеспечения на сервере AIX. Я пытаюсь настроить LTPA SSO с помощью базовой HTTP-аутентификации из WebSphere в Cognos. Для аутентификации я использую сервер LDAP моей компании как в Cognos, так и в WebSphere.
После внесения изменений в .../war/gateway/web.xml
и .../war/gateway/application.xml.template
, создание новых EAR приложений и их развертывание с возможностью определения моего имени входа, в остальном логин работает нормально ... за исключением того, что когда я ввожу свое имя пользователя и пароль, кажется, что в Cognos передается неверная информация, потому что я получаю простой обычный диалог входа в систему с именем моего сотрудника в поле имени пользователя (в качестве имен пользователей мы используем наши почтовые адреса в интрасети).
Я пробовал читать документацию IBM по этому поводу. Я как бы понял, что токен LTPA, переданный в Cognos, содержит учетные данные пользователя, но я не смог найти ничего убедительного в том, как определить учетные данные пользователя, передаваемые из WAS в Cognos, или как настроить Cognos для чтения соответствующих учетных данных из токен LTPA.
Обновить: После того, как я много прочитал по этой теме и просмотрел около одной трети Интернета, мне, наконец, удалось сузить проблему до переменной среды REMOTE_USER, установленной в Cognos через WebSphere, которая каким-то образом заполняется именем моего сотрудника вместо моего фактическое имя пользователя. Поэтому следующий шаг в списке - выяснить, где и как я могу сообщить WebSphere о необходимости ввода правильной информации в REMOTE_USER.
Мой web.xml
и application.xml.template
модификации заключаются в следующем.
web.xml
<!-- WAS SSO configuration begin -->
<security-constraint>
<web-resource-collection>
<web-resource-name>10.2.1FP3_Gateway_WASlogin</web-resource-name>
<url-pattern>/servlet/Gateway/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>was_sso</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>10.2.1FP3_Gateway_WASlogin</realm-name>
</login-config>
<security-role>
<role-name>was_sso</role-name>
</security-role>
<!-- WAS SSO configuration end -->
application.xml.template
<security-role id="SecurityRole_Cognos_BI_User">
<description/>
<role-name>was_sso</role-name>
</security-role>