Как включить ssl для всех контроллеров в приложении mvc
У меня есть приложение MVC 5, и я установил сертификат ssl, и теперь я подключаюсь к https, но в моем коде мне пришлось установить атрибут '[requirehttps]' на homecontroller так:
[RequireHttps]
public class HomeController : Controller
{}
Не существует способа установить его для всего приложения, поэтому мне не нужно делать это для каждого контроллера, который у меня есть в приложении?
Ответы
Ответ 1
Используйте метод RegisterGlobalFilters
в FiltersConfig
.
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new RequireHttpsAttribute());
}
}
Ответ 2
Атрибут [RequireHttps]
наследуется, поэтому вы можете создать базовый контроллер, применить к нему атрибут и затем вывести все ваши контроллеры из этой базы.
[RequireHttps]
public abstract class BaseController : Controller
{}
public class HomeController : BaseController
{}
public class FooController : BaseController
{}