在自定义Web应用程序中生成LTPAToken 2

时间:2014-05-25 13:37:34

标签: java websphere single-sign-on websphere-8 ltpa

我们希望通过一些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上。

谢谢和最诚挚的问候 本

2 个答案:

答案 0 :(得分:2)

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

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

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

  • 一个是使用Access Manager软件来处理所有应用程序的登录,
  • 第二种解决方案是编写一些自定义代码。登录tomcat服务器可以生成自定义cookie。您需要编写代码来生成此cookie。然后,您可以编写TAI以在WebSphere服务器上拦截它,从而接受登录。 TAI将在容器中配置,而不是在单独的应用程序本身中配置。 (example
  • 我还假设你可以通过编写servlet过滤器来处理登录而不是TAI来解决这个问题。

答案 1 :(得分:1)

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

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