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

前端之家收集整理的这篇文章主要介绍了c# – 如何从响应中删除X-Frame-Options前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有X-Frame-Options http标头的问题.

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

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

AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

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

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

但是,它不起作用.

你知道我该怎么删除它?

任何帮助将不胜感激.

解决方法

在调查问题之后,我注意到可以创建一个ActionFilter来覆盖OnResultExecuted方法,在那里我可以删除那个http头:
public class AllowIframeFromUriAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        //...
        filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
        base.OnResultExecuted(filterContext);
    }
}

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

猜你在找的C#相关文章