- , , , (/ FilterAttribute, IAuthorizationFilter), ( ActionFilterAttribute) Inherited=true AllowMultiple=false , .
, "" ( ), (, AdminController - ) .
,
[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, Inherited=true, AllowMultiple=false)]
public class MyCustomAttribute : FilterAttribute, IAuthorizationFilter
{
private MyCustomMode _Mode;
public MyCustomAttribute(MyCustomMode mode)
{
_Mode = mode;
}
public virtual void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
}
}
public enum MyCustomMode
{
Enforce,
Ignore
}
, , ,
[MyCustomAttribute(Ignore)]
public class BaseController : Controller
{
}
/ !
[MyCustomAttribute(Enforce)]
public class AdministrationController : BaseController
{
public ActionResult Index()
{
}
[MyCustomAttribute(Ignore)]
public ActionResult SomeBasicPageSuchAsAHelpDocument()
{
}
}
"" , , .
!