用户使用 Sustainsys SAML 和 ASP.NET 会话 Cookie 频繁注销

问题描述 投票:0回答:1

我的一个客户遇到了一个奇怪的问题,用户在登录几秒钟后(发出 10-15 个请求后)就会注销。我们正在使用以下

  1. Sustainsys.Saml2.Owin 2.3.0 库使用 SAML SSO。我们尝试将软件包升级到2.9.0,但没有成功。
  2. 粘性会话在负载均衡器上启用。即使我们只保留一台网络服务器,用户也会在登录几秒钟后退出。
  3. 成功 SAML 响应后,我们发出 ASP.NET 身份验证 Cookie(基于会话)。

我在浏览器中比较了成功的请求和未经授权的请求,它们看起来完全相似。它们都具有所有必需的 cookie - 身份验证 Cookie、会话 Cookie。

我猜测问题出在负载均衡器或 Web 服务器端的某个地方。 Web 服务器上的跟踪仅显示请求之间的一个差异。
成功的请求具有会话 ID,而返回未经授权的请求则缺少会话 ID。

我有2个问题

  1. 如果会话 ID 丢失,Asp.Net 身份验证 Cookie(基于会话)应该如何表现?
  2. 即使身份验证 Cookie 和会话 Cookie 都是从浏览器发送的。我可以在负载均衡器或 Web 服务器端检查什么来了解会话 ID 在未经授权的请求中丢失的原因?为什么它可以正常工作几秒钟并在一些请求后发生?

请注意,如果我切换到表单/LDAP 身份验证而不是 SAML,它似乎工作正常。所以问题似乎与 SustainSys SAML 有关。

asp.net session single-sign-on owin sustainsys-saml2
1个回答
0
投票

出现此问题的原因是 SAML 响应中的 SessionNotOnOrAfter 设置为 2 分钟。这导致会话结束并且用户被注销。

© www.soinside.com 2019 - 2024. All rights reserved.