我有一個MVC 5應用程序,我安裝了ssl證書,現在我使用https連接,但在我的代碼中,我必須設置'[requirehttps]'屬性像這樣的HomeController:如何爲mvc應用程序中的所有控制器啓用ssl
[RequireHttps]
public class HomeController : Controller
{}
是不是有一種方法來設置它爲整個應用程序,所以我不必爲每個控制器我已經在應用程序做到這一點?
我有一個MVC 5應用程序,我安裝了ssl證書,現在我使用https連接,但在我的代碼中,我必須設置'[requirehttps]'屬性像這樣的HomeController:如何爲mvc應用程序中的所有控制器啓用ssl
[RequireHttps]
public class HomeController : Controller
{}
是不是有一種方法來設置它爲整個應用程序,所以我不必爲每個控制器我已經在應用程序做到這一點?
在FiltersConfig
使用RegisterGlobalFilters
方法。
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new RequireHttpsAttribute());
}
}
[RequireHttps]
屬性是繼承的,因此您可以創建一個基礎控制器,將該屬性應用於該屬性,然後從該基礎派生所有控制器。
[RequireHttps]
public abstract class BaseController : Controller
{}
public class HomeController : BaseController
{}
public class FooController : BaseController
{}
這將是更多的工作,然後將屬性添加到每個控制器,我正在尋找更少的工作?也許一些一般的屬性設置或什麼? – user1186050
沒有太多的工作。一個簡單的查找和替換「控制器:控制器」,並取代「控制器:BaseController」,在Visual Studio中的項目應該做的伎倆。 –
好吧,它幾乎與創建每個控制器上方屬性的工作量相同,但我一直在尋找不同的解決方案。如果有... – user1186050
如何使用它? –