8.4. 用户会话限制


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

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

  1. 点流的 Add step
  2. 从 item 列表中选择 User session count limiter
  3. 点击 Add
  4. User Session Count Limiter 验证类型点 Required,将它的 requirement 设置为 required。
  5. 单击 User Session Count Limiter 的 iwl 齿轮(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 flow,Reset credentialsPost broker login flow,建议在身份验证流末尾将验证器作为 REQUIRED 添加。以下是 Reset 凭证流的示例

Authentication User Session Limits Reset Credentials Flow

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

Authentication User Session Limits Browser Flow

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

注意

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

注意

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat