【发布时间】:2021-09-04 17:30:59
【问题描述】:
就像this person 一样,我一直在为浏览器缓存 SSL 会话而苦苦挣扎。简而言之,如果选择了客户端证书,则无法以编程方式清除状态,除非在 IE 中使用document.execCommand("ClearAuthenticationCache")。
the answers 之一提到向“同一主机名上的 URL 请求客户端证书但拒绝所有证书”将强制浏览器清除 SSL 会话。如何在 IIS 中设置这样的端点?因为我认为我需要的不仅仅是一个返回 http 状态 403 或类似的简单端点。
【问题讨论】:
-
“因为我认为我需要的不仅仅是一个返回 http 状态 403 或类似的简单端点。” - 不,只需将
<location>添加到您的web.config,并设置硬编码的错误响应规则。根本不需要任何应用程序代码。另一种选择是在<urlRewrite>元素中定义规则。 -
@Dai 我尝试向在同一域上返回
403的端点发出请求,但它似乎没有清除任何证书,这有点道理。正如 cmets 中所讨论的,我认为需要做的事情远不止这些。我只是不知道如何为此配置 IIS -
HTTP 403 不会使客户端身份验证状态无效,我认为您需要 HTTP 401。