Windows身份验证角色

时间:2012-10-03 22:27:36

标签: windows-authentication

我使用Windows Auth创建了一个MVC4 Web App。是否可以定义哪些用户可以使用以下内容访问:[授权(角色=“管理员”)]而不依赖于AD,即在数据库表中或在应用程序本身内指定?

1 个答案:

答案 0 :(得分:2)

绝对。您需要创建一个自定义角色提供程序,根据后端的内容检查角色成员身份。

自定义角色提供程序派生自System.Web.Security.RoleProvider,您需要至少覆盖​​GetRolesForUserIsUserInRole方法。

GetRolesForUser方法是Authorize属性使用的方法。在用户通过身份验证后,该属性使用用户的SamAccountName调用此方法,并期望该方法返回包含用户所属角色名称的string[]

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx