繁体   English   中英

在已登录的 session 上使用不同用户登录 OIDC

[英]OIDC login with different user on an already logged in session

我有一个用户打开两个登录屏幕的场景。 输入用户A 的凭据并成功登录系统。 现在用户返回另一个登录屏幕并输入用户B的凭据。 当前行为是浏览器 window 显示:

此页面无法正常工作如果问题仍然存在,请联系网站所有者。 HTTP 错误 400

controller中的登录方法没有到达,而是在浏览器window中显示上述错误方法。

我该如何处理这种情况?

在此处输入图像描述

正如我在评论中提到的,您的网站将数据存储在 cookies 中,这些数据似乎使服务器感到困惑。 所以简单的解决方法是找出哪个 cookie 设置会混淆服务器。 这部分代码需要更改。
至少,您的登录页面应创建一个 session ID ,该 ID 将存储在 cookie 中。 因此,如果用户登录并注意到现有的 session cookie,则不要继续登录。用户已经登录。只需将用户转发到登录后将看到的正常页面。他应该通过以下方式进行身份验证现在。
作为替代方案,您可以选择使用无 cookie session ID。 这可能会使 session ID 成为 URL 的一部分,这将要求您的网站使用 SSL/HTTPS,以避免黑客劫持 Z21D6F40CFB511982E4424E0E250A9。 但优点是您可以使用带有两个或更多打开选项卡的单个浏览器以两个不同的用户身份登录。
但是修复登录代码中的错误可能更实用。 您正在使用OpenID Connect ,因此当用户登录时,首先检查他是否已经过身份验证。 (这会在第二页发生。)如果是这样,请不要再次登录。 但这取决于登录页面背后的代码,当用户尝试登录两次而不注销,没有看到代码时,这些代码似乎把事情搞砸了。 我不能确切地说出在哪里看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM