我正在使用 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
答案3
当您在基本身份验证提示中输入凭据时,Chrome 似乎会缓存凭据。后续请求会自动Authorization
向每个请求添加一个带有编码值的标头,从而使这些请求可以跳过这些凭据的提示。
我最近自己遇到了这个问题,经过一番研究后,我发现了以下文章,它们可能有助于解释这种行为,并提供了清除这些缓存凭据的其他方法,可能适合您的需要。
资源:
答案4
这并不能回答问题,但它是更改凭证的解决方法:
- 进入“Internet 选项”
- 单击“安全”选项卡
- 单击您认为该网站可能位于哪个区域的最佳猜测。对我来说,我在工作内部网站点上使用错误的凭据,我的域管理员已自动将 URL 添加到“本地内部网”。我根本没有权限编辑“站点”,但我至少可以查看。
- 对于该区域,单击“自定义级别...”
- 滚动到最底部并选择“提示输入用户名和密码”
- 点击“确定”保存
- 重新启动 Chrome,以便它能够应用新设置
- 直接导航至相关网站。
一开始,系统提示我进入主内联网网站(我的主页)并输入我的凭据。然后,我点击了相关网站的链接,该网站具有相同的域名,但子域名不同。系统没有再次提示我。我再次重新启动 Chrome,取消了第一个提示,当我直接导航到相关 URL 时,我收到了提示,并能够更改该网站的凭据。 - 一旦您使用“正确”的帐户成功进行身份验证,您就可以将设置改回自动登录,因为 Chrome 现在知道最新的凭据。
这个想法归功于https://sysadminspot.com/windows/google-chrome-and-ntlm-auto-logon-using-windows-authentication/