我有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); } }