如何从响应中删除X-Frame-Options

时间:2015-09-07 10:35:02

标签: c# asp.net-mvc http-headers x-frame-options

我遇到X-Frame-Options http标头的问题。

我使用MVC 5,因此在Haders响应的Headers中会自动添加SAMEORIGIN选项。

我仍然想使用默认选项,我不想在Application_Start中使用以下行:

base.HttpContext.Response.Headers.Remove("X-Frame-Options");

我想在控制器级别的某些特定操作中删除X-Frame-Options标头,代码如下:

0 10 * * * job

30 15 * * * job

但是,它没有用。

你知道如何删除它吗?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

在调查问题之后,我注意到可以创建一个ActionFilter来覆盖OnResultExecuted方法,在那里我可以删除那个http头:

public class AllowIframeFromUriAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        //...
        filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
        base.OnResultExecuted(filterContext);
    }
}

它有效,所以我想分享解决方案。