如何在Web门户和Java富客户端之间启用单点登录?

时间:2015-01-29 03:12:04

标签: java websphere single-sign-on jnlp portal

我看到了一些相关的问题,但我的情况略有不同。

我们有这个门户网站,可以让用户访问许多应用程序,其中包括托管在门户网站上的富客户端(桌面)。这是发生的事情。

  1. 用户登录Web门户(我相信是WebSphere门户)。
  2. 使用JNLP启动Web服务器上托管的java富客户端。
  3. 然后富客户端要求用户再次登录。
  4. 用户提供用于登录Web门户的相同用户ID /密码。
  5. 富客户端根据用于验证登录Web门户的相同来源验证用户ID /密码。
  6. 这就是系统当前的设置方式。我想摆脱第二次登录。但是,富客户端需要知道用户ID,并且需要确保用户在启动应用程序时实际登录到Web门户。

    Web门户和富客户端是完全不同的应用程序。但是,据我所知,JNLP文件可以包含可以传递给java应用程序的参数。基于此,我想知道以下是否可以选择。

    1. JNLP实际上来自JSP文件。因此,Web门户可以将用户标识传递给JSP文件,该文件可以生成以用户标识为参数的JNLP。
    2. JNLP将启动富客户端,将用户ID作为参数传递。
    3. 富客户端应用程序可以查询(Web服务调用或类似的东西)门户以查看用户是否已登录。如果用户登录到Web门户,则富客户端允许用户访问。
    4. 我正在尝试查看我的选择或是否可以使用任何其他技术/解决方案。

1 个答案:

答案 0 :(得分:2)

如果托管服务器是WebSphere Portal,那么您还有一个额外的好处,即登录过程会自动为客户端创建LTPA令牌cookie。然后,您的页面可以将此令牌作为参数传递给JNLP富客户端。

然后,富客户端可以使用标头中设置的LTPA cookie查询门户网站服务器上的经过身份验证的资源,并测试响应代码以检查身份验证是否成功。

LTPA令牌是一种企业级安全SSO解决方案,是WebSphere产品的标准解决方案,也适用于WebSphere服务器集群或服务器场。

请注意,LTPA令牌的到期时间可能与会话到期时间不同。这可以在WebSphere Application Server管理控制台中设置。