Как удалить X-Frame-Options из ответа
у меня проблема с HTTP-заголовком X-Frame-Options.
Я использую MVC 5, поэтому опция SAMEORIGIN автоматически добавляется в заголовки для Http-ответов.
Я все еще хочу использовать опцию по умолчанию, и я не хочу использовать строку ниже в Application_Start:
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
Я хотел бы удалить заголовок X-Frame-Options в каком-то конкретном действии на уровне контроллера с таким кодом:
base.HttpContext.Response.Headers.Remove("X-Frame-Options");
однако, это не сработает.
вы знаете, как его удалить?
любая помощь будет оценили.
1 ответов
после исследования проблемы я заметил, что можно создать ActionFilter, который переопределяет метод OnResultExecuted, где я могу удалить этот HTTP-заголовок:
public class AllowIframeFromUriAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
//...
filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
base.OnResultExecuted(filterContext);
}
}
он работает, поэтому я хотел бы поделиться решением.