gpt4 book ai didi

c# - UserPrincipal 对象,Active Directory 查询 : DirectoryServicesCOMException

转载 作者:行者123 更新时间:2023-11-30 21:01:16 27 4
gpt4 key购买 nike

为重复 System.DirectoryServices.DirectoryServicesCOMException: An operations error occurred 道歉但我还不能发表评论,也没有答案。

这个问题的解决方案没有用。 Error on publishing: System.DirectoryServices.DirectoryServicesCOMException

我在 Visual Studio 2010 中有一个带有 Razor View 引擎的新 ASP.NET MVC 3 Web 应用程序项目。它是通过添加两行代码添加到主 Controller 和 System.DirectoryServices.AccountManagement 生成的。引用已添加到项目中。

这在我的本地 PC 上运行良好,但在我创建的 Windows 2008 R2 IIS 7.5 站点上出现错误。

该网站使用 defaultAppPool ,它正在使用 ApplicationPoolIdentity .已授予根站点文件夹 IUSRIIS AppPool\DefaultAppPool读取权限。

Controller 中的两行代码是:

PrincipalContext context = new PrincipalContext(ContextType.Domain);
ViewBag.name = UserPrincipal.FindByIdentity(context, User.Identity.Name).DisplayName;

我得到的错误是:

System.DirectoryServices.DirectoryServicesCOMException: An operations error occurred.

堆栈跟踪:

[DirectoryServicesCOMException (0x80072020): An operations error occurred.]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +781
System.DirectoryServices.DirectoryEntry.Bind() +44
System.DirectoryServices.DirectoryEntry.get_AdsObject() +42
System.DirectoryServices.PropertyValueCollection.PopulateList() +29
System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) +119
System.DirectoryServices.PropertyCollection.get_Item(String propertyName) +163
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer() +535649
System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() +51
System.DirectoryServices.AccountManagement.PrincipalContext.Initialize() +141
System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() +42
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType, Nullable1 identityType, String identityValue, DateTime refDate) +27<br/>
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext
context, String identityValue) +95<br/>
ActiveDirectory.Controllers.HomeController.Index() in C:\projects\ActiveDirectory\ActiveDirectory\Controllers\HomeController.cs:18<br/>
lambda_method(Closure , ControllerBase , Object[] ) +79<br/>
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2 parameters) +248
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2
parameters) +39<br/>
System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +125<br/>
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
filter, ActionExecutingContext preContext, Func
1 continuation) +640
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 filters, ActionDescriptor actionDescriptor,
IDictionary
2 parameters) +312
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +691
System.Web.Mvc.Controller.ExecuteCore() +162
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +305
System.Web.Mvc.<>c__DisplayClassb.b__5() +62
System.Web.Mvc.Async.<>c__DisplayClass1.b__0() +20
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375

别客气,这是我的第一个问题!

最佳答案

这很可能是权限问题。检查运行应用程序池的帐户是否有权执行这些 Active Directory 调用。如果是本地计算机帐户,则可能不会。

您可以在此处找到更多信息:http://msdn.microsoft.com/en-US/library/ms180891(v=vs.80).aspx

关于c# - UserPrincipal 对象,Active Directory 查询 : DirectoryServicesCOMException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com