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



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

我们有这个 Web 门户,

为用户提供对许多应用程序的访问权限,其中包括托管在 Web 门户上的富客户端(桌面)。 这是发生的事情。

  1. 用户登录到Web门户(我相信WebSphere门户)。
  2. 使用 JNLP 启动 Web 服务器上托管的 Java 富客户机。
  3. 然后,富客户端要求用户登录(再次)。
  4. 用户提供与登录 Web 门户相同的用户 ID/密码。
  5. 富客户端根据用于验证 Web 门户登录名的同一源验证用户 ID/密码。

这就是系统当前的设置方式。 我想摆脱第二次登录。 但是,富客户端需要知道用户 ID,并且需要确保用户在启动应用程序时实际登录到 Web 门户。

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

  1. JNLP 实际上来自一个 JSP 文件。 因此,Web 门户可以将用户 ID 传递给 JSP 文件,JSP 文件可以使用用户 ID 作为参数生成 JNLP。
  2. JNLP 将启动富客户端,将用户 ID 作为参数传递。
  3. 胖客户端应用程序可以查询(Web 服务调用或类似内容)门户,以查看用户是否已登录。 如果用户登录到 Web 门户,则胖客户端允许用户访问。

我正在尝试查看我的选择是什么,或者我是否可以使用任何其他技术/解决方案。

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

然后,富客户机可以在标头中设置了此 LTPA cookie 的情况下查询门户网站服务器上经过认证的资源,并测试响应代码以检查认证是否成功。

LTPA 令牌是一种企业级的安全 SSO 解决方案,它是 WebSphere 产品的标准解决方案,并且跨 WebSphere 服务器集群或场也能很好地工作。

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

相关内容

最新更新