Как включить 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
{}