【发布时间】:2013-10-04 00:10:06
【问题描述】:
我们将 SSL 证书更新为域级别的通配符证书。我们今天启动了安装了该证书的新网站。它是 Azure 中 IIS 上的 MVC4。
据我所知,我们有一些用户(主要是在 IE 上)缓存了旧证书。这使得他们无法保持登录状态。他们的浏览器拒绝了 .NET auth cookie。
我们让他们通过this 链接中的说明清除其 SSL 状态。这为他们解决了问题。
我的问题是,有没有办法强制浏览器获取我们的新证书?
编辑
我们添加了
var agt = navigator.userAgent.toLowerCase();
if (agt.indexOf("msie") !== -1) {
document.execCommand("ClearAuthenticationCache", "false");
}
//window.crypto is defined in Chrome, but it has no logout function
else if (window.crypto && typeof window.crypto.logout === "function") {
window.crypto.logout();
}
登录页面www.trainerroad.com/login。该代码正在触发,但没有帮助。
编辑 2
我现在正在更改上面的代码以删除“false”。
document.execCommand("ClearAuthenticationCache");
我现在正在发布。我无法重现该问题,所以我必须等待有问题的人尝试并告诉我它是怎么回事。
【问题讨论】:
-
感谢@Kev,但似乎没有这样做:(。
-
不是直接的解决方案,但您可以将登录重定向到“www2...” URL(或任何不同于您现在拥有但仍在通配符域证书下的内容)- 这样做一段时间为了打破缓存。一种相当丑陋且可能容易出错的方法,但会奏效。
-
一篇文章详细介绍了在浏览器中检查以查看证书是否过期的附加项目blogs.msdn.com/b/ieinternals/archive/2011/04/07/…
标签: asp.net-mvc iis ssl-certificate