Asp.net-Mvc
如何授權一組控制器而不在每個控制器上放置註釋?
我有一組控制器,每個控制器都用於每種授權類型。例如,A 類授權將有一組控制器,每個控制器都需要 A 類授權。有沒有辦法在
[Authorize(Role="Class A")]某個地方放置一個屬性,該屬性將應用於每個控制器,而不必用相同的屬性裝飾每個控制器?
您可以初始化從基本控制器派生的那些控制器。即將您的屬性放在控制器基類上,並確保其中的每個控制器都派生自基類。
[Authorize(Role="Class A")] public class CustomBaseController : Controller{} public class AController: CustomBaseController{} public class BController: CustomBaseController{}
是的,有一種方法,使所有這些
A-class控制器派生自一個基本控制器並將其放置在AuthorizeAttribute:[Authorize(Role="Class A")] public class AController : Controller { ... } public class AFirstController : AController // Gets it's parent attribute { ... } public class ASecondController : AController // Gets it's parent attribute { ... }