我已经使用 Windows Auth 创建了一个 MVC4 Web 应用程序。是否可以定义哪些用户可以使用类似的东西访问: [Authorize(Roles="Admin")] 而不依赖于 AD 即在数据库表或应用程序本身中指定?
问问题
631 次
1 回答
2
绝对地。您需要创建一个自定义角色提供程序,以根据您在后端拥有的任何内容检查角色成员资格。
自定义角色提供程序派生自System.Web.Security.RoleProvider
,您至少需要覆盖GetRolesForUser
和IsUserInRole
方法。
GetRolesForUser
方法是Authorize
属性使用的方法。用户通过身份验证后,该属性使用用户的 SamAccountName 调用此方法,并期望该方法返回string[]
包含用户所属角色名称的 a。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx
于 2012-10-03T22:30:27.843 回答