3

在 ASP.NET 4.0 中执行 AD 搜索时收到 COM 异常:发生操作错误 (0x80072020)

线程Active Directory COM 异常 - 发生操作错误 (0x80072020) 为我指明了正确的方向 - 所描述的问题与权限相关。

作为一种解决方法,我将应用程序池标识从 ApplicationPoolIdentity 切换到 NetworkService,并且能够正确执行查询。令人困惑的部分是,在同一域上的另一个 IIS7 网络服务器上,我能够将应用程序池标识保留为 ApplicationPoolIdentity。

使用 ApplicationPoolIdentity 使这个查询工作我缺少什么吗?

FWIW,代码相当简单:

PrincipalContext context = new PrincipalContext(ContextType.Domain, theDomain);
UserPrincipal p_up = new UserPrincipal(context);
p_up.GivenName = "John"; //error occurred here
p_up.Surname = "Doe";
PrincipalSearcher ps = new PrincipalSearcher(p_up);
PrincipalSearchResult<Principal> psr = ps.FindAll();
4

1 回答 1

0

也许它可以取决于计算机的域 LDAP 访问配置。但是 NetworkService 和 ApplicationPoolIdentity 应该在计算机帐户下访问网络......

于 2013-05-06T09:08:26.103 回答