【问题标题】:Shared session timeout in a EAI + sso scenarioEAI + sso 方案中的共享会话超时
【发布时间】:2012-02-14 12:07:19
【问题描述】:

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

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

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

这似乎有点沉重,因为:

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

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

【问题讨论】:

    标签: timeout single-sign-on logout eai


    【解决方案1】:
    When navigating back into the application the user had 
    visited previously, an error occurs.
    

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

    【讨论】:

    • 如果会话中存储了一些上下文信息来服务请求,则不会。就像用户点击返回按钮到不同的平台,但它使用存储在会话中的上下文 id(而不是从 URL 中获取)来服务请求
    猜你喜欢
    • 2017-05-14
    • 2022-09-28
    • 2013-01-22
    • 2023-01-31
    • 2018-04-01
    • 1970-01-01
    • 2016-08-24
    • 2021-06-28
    • 2017-04-06
    相关资源
    最近更新 更多