我很新的MVC和開發與ASP.NET MVC 4應用程序。對於身份驗證我使用Windows身份驗證與域中的Active Directory。下一步是授權用戶(不使用成員資格)。通過幾篇文章,仍然找到一個好方法。基於自定義角色的授權(沒有成員資格)
我有我自己的3個數據庫表(Users
,Roles
,UserRoles
)來維護具有多個管理員級別的授權用戶。這是很多很多。例如,可能存在「管理員」(完全訪問具有創建權限的系統),「數據操作員」(僅限某部分的更新權限)和「支持用戶」(只讀/僅查看訪問權限)。由於這是多對多的 - 用戶可能是「支持用戶」以及「數據輸入運營商」。
對於特定的部分,我需要根據方法來控制訪問。例如,假設有一個名爲「InvoiceController」的控制器。可能有以下方法。
CreateNewInvoice() // Accessible only by admin
UpdateInvoice(...) // Accessible for admin and data operator
ViewInvoice(...) // Accessible for admin, data operator and support user
(只有用戶角色存在表可以訪問系統。訪問被拒絕的人。)
請讓我知道我可以使用驗證的方法級別基於存儲在數據庫中的角色。
感謝jgauffin ...定製AuthorizeAttribute方式工作。你有任何想法如何重定向到錯誤頁面可以包含在這? – chatura
在過濾器中返回一個'RedirectResult' – jgauffin