我有X-Frame-Options http标头的问题.
@H_403_2@我使用MVC 5,因此SAMEORIGIN选项会自动添加到Haders响应的Headers中.
@H_403_2@我仍然想使用默认选项,我不想在Application_Start中使用以下行:
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;@H_403_2@我想在控制器级别的某些特定操作中删除X-Frame-Options标头,代码如下:
base.HttpContext.Response.Headers.Remove("X-Frame-Options");@H_403_2@但是,它不起作用. @H_403_2@你知道我该怎么删除它? @H_403_2@任何帮助将不胜感激.
解决方法
在调查问题之后,我注意到可以创建一个ActionFilter来覆盖OnResultExecuted方法,在那里我可以删除那个http头:
public class AllowIframeFromUriAttribute : ActionFilterAttribute { public override void OnResultExecuted(ResultExecutedContext filterContext) { //... filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options"); base.OnResultExecuted(filterContext); } }@H_403_2@它有效,所以我想分享解决方案.