ASP.NET MVC RequireHttps in Production Only

前端 未结 15 1860
花落未央
花落未央 2020-11-28 18:23

I want to use the RequireHttpsAttribute to prevent unsecured HTTP requests from being sent to an action method.

C#

[RequireHttps] //apply to all acti         


        
15条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-28 19:00

    This was the cleanest way for me. In my App_Start\FilterConfig.cs file. Can't run release builds anymore though.

    ... 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
            if (!Web.HttpContext.Current.IsDebuggingEnabled) {
                filters.Add(new RequireHttpsAttribute());   
            }
            ...
    }
    

    Alternatively, you could set it to only require https when your custom error page is on.

    ... 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
            if (Web.HttpContext.Current.IsCustomErrorEnabled) {
                filters.Add(new RequireHttpsAttribute());   
            }
            ...
    }
    

提交回复
热议问题