Chrome - 为什么即使清除浏览器 cookie 后,我仍然会自动通过 Web 应用程序的身份验证?

Chrome - 为什么即使清除浏览器 cookie 后,我仍然会自动通过 Web 应用程序的身份验证?

我正在使用 Chrome 访问 Web 应用程序。如果我退出该应用程序并清除所有 Chrome 历史记录/cookie/等(甚至是 Flash cookies,现在由 Chrome 在同一个清除历史记录区域中处理),然后重新访问该网站,我会自动登录没有被提示输入凭证。

然后,我以隐身模式启动 Chrome,并能够重现相同的行为。 然而,我被提示第一的在隐身模式下登录。

Web 应用程序在 Internet Explorer 10 中的行为与预期一致。

有关该应用程序的一些信息:

  • 这是一个使用 NTLM 身份验证的 SharePoint 网站
  • 凭据基于 Active Directory,因为用户名是域\用户名
  • 我的连接是通过互联网进行的,我的本地 Windows 帐户和我的 Windows PC 之间没有 AD 关系。换句话说,我(即我的本地登录用户和我的 PC)不属于他们的 AD 域。
  • 该网站在端口 443 上运行 SSL

为什么 Chrome 会自动对我进行身份验证?

答案1

我也遇到同样的问题。我以前用凭证登录一个网站,现在无法使用其他网站登录。当我注销并尝试再次登录时,Chrome 会自动放置授权标头而无需询问。该网站使用本地用户数据库(没有 AD,而是普通的 .htpasswd 文件)并使用基本身份验证。

已经尝试清除所有 cookie 和已保存的密码。没有成功。而且这种情况只发生在 Chrome 上,并且只发生在一台电脑上(在其他电脑上使用我的 Google 帐户的 Chrome 时,它​​可以正常工作,并在登录后要求输入凭据)

我找到了一个解决方法,因为我的主要目标是以不同的用户身份进行身份验证。我运行了 Fiddler 并在那里启用了断点。因此,在收到带有授权标头的请求后,我强制响应 401,从而显示身份验证窗口。然后我提供了必要的凭据,问题就解决了。

然而它并没有回答这些凭证存储在哪里的问题

答案2

该网站可能正在使用本地存储[1][2]这就像 HTML5 的 cookie。

有人问,如何清除本地存储,但遗憾的是,Chrome目前不包含本地存储清除浏览数据对话框。与此同时,您可以通过删除Local Storage用户数据目录

答案3

当您在基本身份验证提示中输入凭据时,Chrome 似乎会缓存凭据。后续请求会自动Authorization向每个请求添加一个带有编码值的标头,从而使这些请求可以跳过这些凭据的提示。

在此处输入图片描述

我最近自己遇到了这个问题,经过一番研究后,我发现了以下文章,它们可能有助于解释这种行为,并提供了清除这些缓存凭据的其他方法,可能适合您的需要。

资源:

答案4

这并不能回答问题,但它是更改凭证的解决方法:

  1. 进入“Internet 选项”
  2. 单击“安全”选项卡
  3. 单击您认为该网站可能位于哪个区域的最佳猜测。对我来说,我在工作内部网站点上使用错误的凭据,我的域管理员已自动将 URL 添加到“本地内部网”。我根本没有权限编辑“站点”,但我至少可以查看。
  4. 对于该区域,单击“自定义级别...”
  5. 滚动到最底部并选择“提示输入用户名和密码”
  6. 点击“确定”保存
  7. 重新启动 Chrome,以便它能够应用新设置
  8. 直接导航至相关网站。
    一开始,系统提示我进入主内联网网站(我的主页)并输入我的凭据。然后,我点击了相关网站的链接,该网站具有相同的域名,但子域​​名不同。系统没有再次提示我。我再次重新启动 Chrome,取消了第一个提示,当我直接导航到相关 URL 时,我收到了提示,并能够更改该网站的凭据。
  9. 一旦您使用“正确”的帐户成功进行身份验证,您就可以将设置改回自动登录,因为 Chrome 现在知道最新的凭据。

这个想法归功于https://sysadminspot.com/windows/google-chrome-and-ntlm-auto-logon-using-windows-authentication/

相关内容