ASP.NET MVC 4 Niestandardowy atrybut autoryzacji z kodami uprawnień (bez ról)

Muszę kontrolować dostęp do widoków na podstawie poziomów uprawnień użytkowników (nie ma ról, tylko poziomy uprawnień dla poziomów operacji CRUD przypisanych użytkownikom) w mojej aplikacji MVC 4.

Przykład jak poniżej AuthorizeUser będzie moim niestandardowym atrybutem abd Muszę go użyć jak poniżej.

[AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")]
public ActionResult UpdateInvoice(int invoiceId)
{
   // some code...
   return View();
}


[AuthorizeUser(AccessLevels="Create Invoice")]
public ActionResult CreateNewInvoice()
{
  // some code...
  return View();
}


[AuthorizeUser(AccessLevels="Delete Invoice")]
public ActionResult DeleteInvoice(int invoiceId)
{
  // some code...
  return View();
}

Czy to się da zrobić? W jaki sposób? Z góry dziękuję...

Chatura

questionAnswers(3)

yourAnswerToTheQuestion