8.4. 用户会话限制


对用户可以配置的会话数量的限值。会话可以限制每个域或每个客户端。

要为流添加会话限制,请执行以下步骤。

  1. Add step for the flow。
  2. 项目列表中选择 User session count limiter。
  3. Add
  4. User Session Count Limiter 身份验证类型点 Required 将其要求设置为 required。
  5. User Session Count Limiter 中点 这个附件(gear 图标)。
  6. 输入此配置的别名。
  7. 输入用户在此域中可以具有的所需最大会话数。例如,如果 2 是值,2 SSO 会话是每个用户在此域中可以具有的最大值。如果 0 是值,则会禁用此检查。
  8. 输入用户可为客户端具有所需的最大会话数。例如,如果 2 是值,则 2 个 SSO 会话是每个客户端此域中的最大值。因此,当用户试图向客户端 foo 进行身份验证,但该用户已在 2 个 SSO 会话中对客户端 foo 进行身份验证时,身份验证将被拒绝,或者现有会话将根据配置的行为被终止。如果使用 0 值,则会禁用此检查。如果同时启用了会话限制和客户端会话限制,则通常将客户端会话限制始终低于会话限制。每个客户端的限制永远不会超过此用户的所有 SSO 会话的限制。
  9. 选择用户在达到限制后尝试创建会话时所需的行为。可用的行为有:

    • 拒绝新会话 - 当请求新会话并且达到会话限制时,就无法创建新的会话。
    • 终止最旧的会话 - 当请求新会话并且达到会话限制时,会删除最旧的会话并创建新会话。
  10. (可选)添加要在达到限制时显示的自定义错误消息。

请注意,用户会话限制应添加到绑定 浏览器流直接授权流重置凭据 以及任何 Post 代理登录流。当用户在身份验证期间知道时(通常是身份验证流的末尾)并且通常为 REQUIRED 时,应添加验证器。请注意,无法在同一级别上进行 ALTERNATIVE 和 REQUIRED 执行。

对于(如 Direct grant flowReset credentialsPost broker login flow )等大多数验证器,建议在身份验证流的末尾将验证器作为 REQUIRED 添加。以下是 重置凭证 流的示例:

Authentication User Session Limits Reset Credentials Flow

对于 浏览器 流,请考虑不要在顶级流中添加会话限制验证器。本建议是因为 Cookie 身份验证器,它根据 SSO cookie 自动重新验证用户。它是顶层,最好在 SSO 重新身份验证期间不检查会话限制,因为用户会话已存在。相反,请考虑添加单独的 ALTERNATIVE 子流,如以下 authentication -user-with-session-limit 示例,如 Cookie 相同的级别。然后,您可以在以下 real-authentication-subflow'example 中添加 REQUIRED 子流,作为 'authenticate-user-with-session-limit 的嵌套子流,并在相同的级别上添加用户会话限制。real-authentication-subflow 中,您可以使用类似于默认浏览器流的方式添加实际验证器。以下示例流程允许用户使用身份提供程序或使用密码和 OTP 进行身份验证:

Authentication User Session Limits Browser Flow

关于 Post Broker 登录流,您可以在身份验证流中添加 User Session Limits 作为身份验证流的唯一验证器,只要您没有在身份提供程序验证后触发的其他验证器。但是,请确保此流在身份提供程序中被配置为 Post Broker 流。这个要求存在,以便与身份提供程序进行身份验证也会参与会话限制。

注意

目前,管理员负责在不同配置之间保持一致性。因此,请确保您的所有流都使用相同的 配置用户会话限制

注意

CIBA 不提供用户会话限制功能。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat