我有一个MVC 5应用程序,我安装了ssl证书,我现在正在使用https连接,但在我的代码中,我必须设置' [requirehttps]' homecontroller上的属性如下:
[RequireHttps]
public class HomeController : Controller
{}
是不是有办法为整个应用程序设置它,所以我不必为应用程序中的每个控制器执行此操作?
答案 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
{}