首页 > 解决方案 > 为什么 ASP.NET Core 应用程序没有加载到同一域的 iframe 中?

问题描述

我有一个 ASP.NET Core MVC 网站,它是门户内 IFRAME 的 src。门户和 .NETCore 应用程序都具有相同的域(例如 site.portal.domain / portal.domain)。

当我进入门户时,我在浏览器中收到一条消息:

mysite.portal.domain 拒绝连接

(在 Chrome 上),其他浏览器给出不同的错误,如 IE 11 给出:

此内容无法在框架中显示

在 Chrome 调试中,我发现了以下消息:

拒绝在框架中显示“ https://site.portal.domain ”,因为它将“X-Frame-Options”设置为“sameorigin”。

关于如何解决这个问题的任何提示?

标签: htmlasp.net-mvcasp.net-coreiframe

解决方案


X-FRAME-OPTIONS用于防止点击劫持尝试。如果您拥有该应用程序并希望它被框架,您可以跳过限制:</p>

services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = true);

默认情况下,X-Frame-Options 标头是使用值 SAMEORIGIN 生成的。如果此设置为“true”,则不会为响应生成 X-Frame-Options 标头。


推荐阅读