Potrzebuję kontrolować dostęp do widoków na podstawie poziomów uprawnień użytkowników (nie ma żadnych ról, są tylko poziomy uprawnień dla poziomów operacji CRUD przypisanych do użytkowników) w moim Aplikacja MVC 4.Niestandardowy atrybut autoryzacji ASP.NET MVC 4 z kodami uprawnień (bez ról)
Przykład poniżej AuthorizeUser będzie moim niestandardowym atrybutem abd muszę go używać 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 można to zrobić? W jaki sposób? Z góry dzięki ...
Chatura
Próbowałem swój przykład HandleUnauthorizedRequest ale kiedy określić RouteValueDictionary, to po prostu przekierowuje do mi trasa, która nie istnieje. Dodaje trasę, którą chcę przekierować użytkownika, do trasy, do której użytkownik chciał uzyskać dostęp ... si dostaję coś takiego: localhost: 9999/admin/Strona główna, kiedy chcę localhost: 9999/Home – Marin
@Marin Postaraj się dodać area = string.Empty w RouteValueDictionary – Alex
Byłem na przeglądzie, ale wtedy zobaczyłem "if (warunek) {return true;} else {return false;}" na końcu .... – GabrielBB