2015-09-07 21 views
5

X-Frame-Options http標題有問題。如何從響應中刪除X-Frame-Options

我使用MVC 5,因此SAMEORIGIN選項會自動添加到Headers中用於Http響應。

我仍想使用默認選項,我不希望在的Application_Start使用下面一行:

AntiForgeryConfig.SuppressXFrameOptionsHeader = true; 

我想刪除X-框架 - 選項頭在控制器級別某些特定行動代碼如下:

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

但是,它不起作用。

你知道我該如何刪除它?

任何幫助將不勝感激。

回答

4

調查問題後,我注意到,有可能創造出覆蓋OnResultExecuted方法,在那裏我可以刪除HTTP頭一個ActionFilter:

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

它的工作原理,所以我想與大家分享的解決方案。