1

在使用 SSO 在不同的“Web 应用程序”之间进行集成时,用户可能会在这些应用程序之间来回切换。当用户在这些应用程序之间导航时,除了在用于 sso 的身份提供者处创建的会话之外,还会在每个应用程序上创建一个本地会话。

因此,问题是当应用程序具有不同的会话超时时,会导致用户体验受损。当用户在另一个应用程序上工作时,会话超时发生在一个应用程序中。当导航回用户之前访问过的应用程序时,会发生错误。这让用户感到困惑,因为他们不知道他们正在处理不同的应用程序。

避免该问题的一种方法是拥有一个每个应用程序都可以访问的“全局会话”对象。当用户访问任何受保护的资源时,应用程序会检查全局会话是否存在并在处理请求之前更新其时间戳。本地会话永远不会过期(或有很长的超时)。但是,当用户注销时,全局会话对象将被逐出,并且所有应用程序都会注销。

由于以下原因,这似乎有点沉重:

  • 全局会话对象成为单点故障
  • 对全局会话对象进行“进程外”检查并更新每个 受保护请求的访问时间戳的性能

关于如何使这项工作的任何其他想法?

4

1 回答 1

0
When navigating back into the application the user had 
visited previously, an error occurs.

我认为这不会是一个错误。应用程序会将请求重定向到 SSO 提供者,并且由于用户已经拥有一个有效的 SSO 会话,这将是一个成功的 SSO 操作,并且应用程序可以重新建立一个新的/过期的会话。

于 2012-02-14T04:07:19.083 回答