如何为mvc应用程序中的所有控制器启用ssl

时间:2014-06-19 23:33:53

标签: asp.net-mvc oauth-2.0 asp.net-mvc-5 ssl-certificate openid

我有一个MVC 5应用程序,我安装了ssl证书,我现在正在使用https连接,但在我的代码中,我必须设置' [requirehttps]' homecontroller上的属性如下:

[RequireHttps]
public class HomeController : Controller
{}

是不是有办法为整个应用程序设置它,所以我不必为应用程序中的每个控制器执行此操作?

2 个答案:

答案 0 :(得分:18)

使用RegisterGlobalFilters中的FiltersConfig方法。

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
        filters.Add(new RequireHttpsAttribute());
    }
}

答案 1 :(得分:3)

继承了[RequireHttps]属性,因此您可以创建一个基本控制器,将属性应用于该属性,然后从该基础派生所有控制器。

[RequireHttps]
public abstract class BaseController : Controller
{}

public class HomeController : BaseController
{}

public class FooController : BaseController
{}