如何使用 JavaScript 清除身份验证缓存

How to clear authentication cache using JavaScript?

本文关键字:身份验证 缓存 清除 JavaScript 何使用      更新时间:2023-09-26

我遇到了使用JavaScript清除浏览器(FireFox和Chrome)之间的身份验证缓存。

通过引用这篇文章链接,使用 XMLHttpRequest 清除非 IE 浏览器缓存的部分在我的情况下不起作用。

我正在寻找替代方法,有什么建议吗? 请帮忙

提前谢谢你。

我一直

在寻找类似的解决方案,并遇到了一个用于Trac(问题管理系统)的补丁。

我已经浏览了代码(我很累,所以我没有解释所有内容);基本上你需要对你的登录页面进行一个保证无效凭据的 AJAX 调用。浏览器将获得401,并且知道下次您去那里时需要要求您提供正确的凭据。使用 AJAX 而不是重定向,以便可以指定不正确的凭据,并且浏览器不会弹出对话框。

在补丁(http://trac-hacks.org/wiki/TrueHttpLogoutPatch)页面上,他们使用非常基本的AJAX;像jQuery或Prototype等更好的东西可能更好,尽管这可以完成工作。

浏览器处理所提供凭据的精确规则 - 如果它们将在从 Javascript 提供时保存,并且正确或不正确的尝试将覆盖身份验证缓存在任何地方都没有标准化。

此外,开发人员倾向于认为任何允许无人值守地操作存储的东西(通常需要用户手动交互)都是不安全的,即使它在过去由于某种原因起作用,也会立即堵塞漏洞。

因此,我建议不要依赖它,也不要尝试从脚本中清除/使此缓存无效。