Как удалить 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);
    }
}

он работает, поэтому я хотел бы поделиться решением.