2
我使用Windows身份驗證創建了一個MVC4 Web應用程序。是否可以定義哪些用戶有權訪問使用類似以下內容的內容:[Authorize(Roles =「Admin」)]而不依賴於AD,即在數據庫表中指定或在App本身內指定?Windows身份驗證角色
我使用Windows身份驗證創建了一個MVC4 Web應用程序。是否可以定義哪些用戶有權訪問使用類似以下內容的內容:[Authorize(Roles =「Admin」)]而不依賴於AD,即在數據庫表中指定或在App本身內指定?Windows身份驗證角色
絕對。您需要創建一個自定義角色提供程序,該提供程序根據您在後端的任何內容來檢查角色成員身份。
自定義角色提供者派生自System.Web.Security.RoleProvider
,並且您至少需要覆蓋GetRolesForUser
和IsUserInRole
方法。
GetRolesForUser
方法是由Authorize
屬性使用的方法。用戶通過身份驗證後,該屬性將使用用戶的SamAccountName調用此方法,並期望該方法返回一個包含用戶所屬角色名稱的string[]
。
有關更多詳細信息,請參見http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx