Saya perlu mengontrol akses ke tampilan berdasarkan tingkat hak istimewa pengguna (tidak ada peran, hanya tingkat hak istimewa untuk tingkat operasi CRUD yang ditetapkan ke pengguna) di aplikasi MVC 4 saya.
Sebagai contoh; di bawah AuthorizeUser akan menjadi atribut khusus saya dan saya perlu menggunakannya seperti ini:
[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();
}
Apakah mungkin melakukannya dengan cara ini?
.Name.ToString()
redundan, karenaName
properti sudah berupa stringBerikut adalah modifikasi untuk prev. menjawab. Perbedaan utamanya adalah ketika pengguna tidak diautentikasi, ia menggunakan metode "HandleUnauthorizedRequest" asli untuk mengalihkan ke halaman login:
sumber
Mungkin ini berguna bagi siapa saja di masa mendatang, saya telah menerapkan Atribut Otorisasi khusus seperti ini:
sumber
Jika Anda menggunakan WEB API dengan Klaim, Anda dapat menggunakan ini:
sumber