2

我们希望使用一些 IBM Domino / Websphere 产品和一个自定义 Web 应用程序来实现 SSO 基础设施。所有 IBM 产品都针对 SSO 进行了配置。因此,WebSphere Application Server 8 在成功登录其中一个 IBM 产品后会生成一个 LTPAToken2。我们希望为我们自己的自定义 Web 应用程序实现相同的行为。登录此 Web 应用程序后,应生成一个 LTPAToken2。因此我的问题是:是否可以在我们的自定义 Web 应用程序中生成有效的 LTPAToken2?或者,是否可以将 WebSphere Application Server API 用于这一代?实现这一目标需要哪些步骤?目前,我们的自定义 Web 应用程序不是托管在 WAS 中,而是托管在 Tomcat 上。

谢谢和最好的问候本

4

2 回答 2

3

只要您将应用程序托管在不可能的 tomcat 服务器上。IBM 没有用于创建LTPA令牌的开放 API。

如果您拥有相同的用户目录并使用标准的 Java 安全机制,您可以将您的应用程序移动到WAS配置 SSO 的位置​​。不仅有可能,您的LTPA令牌将在登录到您的 Web 应用程序时创建,而无需任何进一步的配置。

由于似乎有两个不同用户目录的解决方案,共享相同的用户 id 但不共享密码,因此您需要采取其他措施来实现 SSO。

  • 一种是拥有一个访问管理器软件来处理所有应用程序的登录,
  • 第二种解决方案是编写一些自定义代码。登录到 tomcat 服务器可以生成自定义 cookie。您需要编写代码来生成此 cookie。然后您可以编写一个 TAI 以在 WebSphere 服务器上拦截它,从而接受登录。TAI 将在容器中而不是在单独的应用程序本身中进行配置。(示例
  • 我还假设您可以通过编写 servlet 过滤器来处理登录而不是 TAI 来解决这个问题。
于 2014-05-26T08:06:18.093 回答
1

如果您的 Tomcat 应用程序与 WebSphere 服务器(其中一个)在同一个域中,并且 Tomcat 服务器具有对 WebSphere 实例的网络访问权限,那么您可以让 Tomcat 应用程序中的 servlet 接受其请求的凭据并在出站中传递它们/<secured app>/j_security_check对 WAS 实例上类似的 http 请求,记录LtpaToken2是否成功,然后在 Tomcat 上的 servlet 响应中添加一个带有其值的 cookie。

只要两台服务器位于同一个域中,如果 Tomcat 应用程序将用户链接/重定向到 WAS 应用程序上的安全 URI,并且您拥有 SSO,浏览器就会将 cookie 发回。

于 2014-05-26T14:34:19.697 回答