Это содержимое класса CustomAuthorizeAttribute:
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return (CurrentUser.IsInRole(MasterRole, ChildRole)) ? true : false;
}
}
И мой контроллер:
[CustomAuthorize(MasterRole="Master")]
public class HomeController : Controller
{
...
[CustomAuthorize(ChildRole = "Child")]
public ActionResult Slider()
{
return View();
}
...
}
В этом использовании для класса CustomAuthorizeAttribute ChildRole приходит как «Child», все нормально, но MasterRole возвращается в ноль.
Как я могу определить "MasterRole" только один раз в контроллере, или это возможно?
Я имею в виду, он работает как синтаксис ниже, но я не хочу определять MasterRole для каждого действия, как показано ниже:
[CustomAuthorize(MasterRole = "Master", ChildRole = "Child")]
public ActionResult Slider()
{
return View();
}