gpt4 book ai didi

c# - IFRAME 中的 Internet Explorer 和客户端证书

转载 作者:行者123 更新时间:2023-11-30 18:45:14 26 4
gpt4 key购买 nike

我在使用客户端证书进行身份验证的网站上遇到问题。该站点包含一个 iframe,它加载在不同服务器上托管的页面。此页面还使用客户端证书。

除了“内页”网络服务器中的一个小故障有时会导致它失去用户的身份验证状态(有问题的站点是 ASP.NET)之外,这工作得很好。我试图找到一种从容恢复的方法,但我无法通过设置 HTTP 响应代码和/或 WWW-authenticate header 让 Internet Explorer 重新传输客户端证书。最多,它会显示一个基本的用户名/密码提示。

当我在 Internet Explorer 8 中打开同一个站点的新选项卡时,它会在该选项卡中正常工作,但在原始选项卡中,客户端证书仅对“外部”网站可见。重新加载页面没有帮助。我唯一的选择是关闭该选项卡并开始使用新选项卡。

有没有人以前在 IE 中看到过这种行为?有什么办法让它重传客户端证书吗?

最佳答案

您需要将 P3P header 添加到 HTTP 响应,以告诉 IE iframe 中的内容一切正常。

Cache-Control:private
Content-Encoding:gzip
Content-Length:13801
Content-Type:text/html; charset=utf-8
Date:Thu, 18 Aug 2011 16:59:18 GMT
P3P:CP="CAO PSA OUR"
Server:Microsoft-IIS/7.0
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET

您可以使用 Response.AddHeader() 来执行此操作。

Response.AddHeader("P3P", "CP=\"CAO PSA OUR\"")

或者如果您希望它在站点范围内,您可以在 web.config 中设置它。

关于c# - IFRAME 中的 Internet Explorer 和客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/976075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com