【发布时间】:2014-11-10 17:41:55
【问题描述】:
我在 ASP.Net MVC 网站中运行以下代码:
using (var ctx = new PrincipalContext(ContextType.Domain, DOMAIN))
using (var userPrincipal = UserPrincipal.FindByIdentity(ctx, principal.Identity.Name))
using (var groups = userPrincipal.GetAuthorizationGroups())
代码使用自定义 RoleProvider,变量“principal”是 HttpContext.Current.User。 DOMAIN 是我的本地域。
当我登录该站点时,此代码运行良好,但如果我以几个测试用户中的任何一个用户身份登录,则会在最后一行引发异常。
While trying to retrieve the authorization groups, an error (5) occurred.
测试用户在域上的权限较少,但是是活动目录中的用户。我尝试使用提供我的用户名和密码的替代构造函数来创建 PrincipalContext,但它对行为没有任何影响。
这既发生在我的开发机器上,也发生在单独的登台服务器上,所以我认为这与本地权限无关。我也看不到它与用户权限的关系,因为我希望 Active Directory 请求作为 IIS 应用程序池用户(模拟已关闭)或者可能是 PrincipalContext 构造函数中指定的用户。
任何关于发生的事情的建议都非常感谢。
【问题讨论】:
标签: c# asp.net-mvc active-directory