![]() |
1
11
我想出了一个看起来相当一致但又老套的解决方案 I'm still not happy with it . 但它确实有效:-) 1) 重定向到注销页 2) 在该页面上,启动脚本以ajax加载另一个具有虚拟凭据的页面(jQuery中的示例):
3) 它应该总是在第一次返回401(以强制传递新凭据),然后只接受虚拟凭据(MVC中的示例):
4) 现在,浏览器已接受并缓存随机字符串凭据。当他们访问另一个页面时,它将尝试使用它们,失败,然后提示输入正确的页面。 |
|
2
6
Mozilla实现了crypto对象,可通过DOM获得
加密对象似乎是 Web Crypto API ,根据 this document ,DOMCrypt API将添加更多函数。
如上所述,微软IE(向上6个)有:
我找不到清除Chrome中SLL缓存的方法(参见 this 和 this 错误报告)。 如果浏览器没有提供任何API来实现这一点,我认为我们最好是指示用户关闭浏览器。 我做的是:
|
![]() |
3
5
几个音符。一些人说,您需要使用无效的凭据触发ajax请求,以使浏览器放弃自己的凭据。 这是正确的,但是正如Keith指出的,服务器页面声明接受这些凭据对于这个方法的一致工作是非常重要的。 有一个类似的提示:仅仅通过401错误打开登录对话框是不够的。如果用户取消对话框,则其缓存的凭据也不受影响。 如果你能帮我戳一下MOZILLA https://bugzilla.mozilla.org/show_bug.cgi?id=287957 为FireFox添加正确的补丁。一个webkit错误登录到 https://bugs.webkit.org/show_bug.cgi?id=44823 . IE使用以下方法实现了一个性能较差的解决方案:
不幸的是,我们需要使用这些长度来注销用户。 |
![]() |
4
2
为什么不使用FormsAuth,而是根据 this thread . 它和基本身份验证一样安全,但注销只是一个清空cookie(或者更确切地说,调用 FormsAuthentication.SignOut ) |
![]() |
5
2
我一直在寻找一个类似的解决方案,遇到了一个Trac(一个问题管理系统)的补丁。 我已经看完了代码(我很累,所以我没有解释所有内容);基本上,您需要使用 保证无效 资格证书 到您的登录页 . 浏览器将得到401,并且知道下次你去那里时它需要向你询问正确的凭证。您使用AJAX而不是重定向,这样就可以指定不正确的凭据,并且浏览器不会弹出对话框。 在补丁上( http://trac-hacks.org/wiki/TrueHttpLogoutPatch )页面他们使用非常基本的AJAX;一些更好的东西,比如jQuery或Prototype,等等,可能更好,尽管这可以完成工作。 |
![]() |
6
0
嗯,我一直在浏览BugZILA,现在看来,清除身份验证最好的方法是发送不存在的凭据。 请在此处阅读更多内容: https://bugzilla.mozilla.org/show_bug.cgi?id=287957 |
![]() |
7
-1
希望这将是有用的,直到有人真正提出明确的答案- this issue was discussed two years ago on a message board . 高温高压 |
![]() |
vale383 · 如何在Django端点中查找user_id 8 月前 |
![]() |
Tunahan Keklik · 如果用户仍在网站上时会话过期怎么办 1 年前 |
![]() |
onizukaek · 如何将无密码登录链接认证应用于无头架构? 1 年前 |
|
Kananda Gama · Problema com登录[关闭] 1 年前 |