这里发布了非常相似的问题,我不相信它们是相同的。
IBM WebSphere Application Server SSO 错误地设置了 REMOTE_USER
我们在 WebSphere Application Server BASE 版本 8.5.5.2 上运行 IBM Cognos Business Intelligence Server 10.2.2(没有其他额外的软件产品),这两个软件都在 AIX 服务器版本 7 上。我们正尝试通过从 WebSphere 到 Cognos 的基本 HTTP 身份验证配置 RSA SSO。对于身份验证,我们为 WebSphere 和 Cognos 使用自定义身份验证提供程序。
我们使用两个 WAS 配置文件,一个用于运行 Cognos Servlet Gateway(用于匹配 /ServletGateway/* 的模式),另一个用于运行 Content Manager 和 Reporting Services(用于匹配 /p2pd/servlet/dispatch 的模式)。
编辑和部署 Cognos CJAP jar(自定义 Java 身份验证提供程序)并对 .../war/gateway/web.xml 和 .../war/gateway/application.xml.template 进行更改、构建新的应用程序 EAR 并部署它们后,登录就可以正常工作了……我被要求输入用户名和密码,输入正确的凭据将使用户登录到 cognos 门户。查看 http 标头时,正如预期的那样,Remote_User 为空。
当我们尝试启用 SSO 时,事情就出错了。在 WebSphere 中,我们启用了全局安全性,在两个配置文件之间设置了证书等。但执行完这些操作后,Remote_User 并未填充。
答案1
在 websphere 控制台中查看 SSL 证书时,我们注意到各种证书的指纹并不相同。在两个 WAS 配置文件的控制台中查看同一个证书时,指纹不匹配。
因此,看来全局安全性在两个 WAS 配置文件之间不起作用。经过大量研究,我们偶然发现了这份 IBM Technote。 PM86382:使用 RSA 身份验证
“当使用硬件加密并将管理身份验证设置为 RSA(仅在基本应用服务器环境中为默认设置)时,应用程序部署等管理任务将失败。”
通过遵循技术说明,我们将身份验证切换为 LPTA,颁发了新证书并重新配置了 websphere 配置文件。重新启动后,SSO 现在正常运行,并且用户 ID 正确填充到 HTTP 标头变量“Remote_User”中
答案2
我是您链接的问题的作者,我还没有被允许发表评论,所以我必须将其发布在答案上。您是否认为如果我们使用单个配置文件,证书重新加载解决方案可以工作?由于我们拥有 WebSphere 的 ND 版本,因此我们对所有内容都使用单个配置文件,我们只是使用两个不同的应用服务器来将调度程序和网关应用程序分开。