2012-10-03 60 views
2

我使用Windows身份驗證創建了一個MVC4 Web應用程序。是否可以定義哪些用戶有權訪問使用類似以下內容的內容:[Authorize(Roles =「Admin」)]而不依賴於AD,即在數據庫表中指定或在App本身內指定?Windows身份驗證角色

回答

2

絕對。您需要創建一個自定義角色提供程序,該提供程序根據您在後端的任何內容來檢查角色成員身份。

自定義角色提供者派生自System.Web.Security.RoleProvider,並且您至少需要覆蓋GetRolesForUserIsUserInRole方法。

GetRolesForUser方法是由Authorize屬性使用的方法。用戶通過身份驗證後,該屬性將使用用戶的SamAccountName調用此方法,並期望該方法返回一個包含用戶所屬角色名稱的string[]

有關更多詳細信息,請參見http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx

相關問題