C # Active Directory PrincipalContext / UserPrincipal.IsMemberOf error

Итак, у меня есть вопрос, который я, честно говоря, не совсем понимаю, как его задать. По сути, у меня есть немного кода, который фантастически работает на моем локальном компьютере, когда я его запускаю. Как только я публикую его на нашем веб-сервере разработки, он терпит неудачу. Я не уверен, что это проблема с настройкой IIS, проблема с web.config или проблема с кодированием.

Вот фрагмент кода

    bool isMember = false;

    PrincipalContext ADDomain = new PrincipalContext(ContextType.Domain);
    UserPrincipal user = UserPrincipal.FindByIdentity(ADDomain, userID);

    if (user.IsMemberOf(ADDomain, IdentityType.Name, groupName.Trim()))
    {
        isMember = true;
    }

    return isMember;

, где я передаю имя пользователя и группу, и он сообщает мне, является ли этот пользователь членом этой группы. Без проблем. Отлично работает на моей машине. Я пошел опубликовать этот код на веб-сервере, и он не работает, когда попадает в строку

UserPrincipal user = UserPrincipal.FindByIdentity(ADDomain, userID); 

, он выдает следующую ошибку:

[DirectoryServicesCOMException (0x80072020): произошла ошибка операции.]
System.DirectoryServices.DirectoryEntry.Bind (логическое throwIfFail) +788
System.DirectoryServices.DirectoryEntry.Bind () +44
System.DirectoryServices.DirectoryEntry.get_AdsObject () +42
System.DirectoryServices.PropertyValueCollection.PopulateList () +29
System.DirectoryServices.PropertyValueCollection..ctor (DirectoryEntry запись, строка propertyName) +63
System.DirectoryServices.PropertyCollection.get_Item (String propertyName) +163 System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer () +521217
System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit () +51
System.DirectoryServices.AccountManagement.PrincipalContext.Initialize () +141
Система.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx () +42
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (PrincipalContext context, Type PrincipalType, Nullable`1 identityType, String identityValue, DateTime refDate) +29
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (PrincipalContext context, String identityValue) +95
Cosmic.Web.Login.btnSubmit_Click (отправитель объекта, EventArgs e) в C: \ cosmic \ Cosmic.Web \ Login.aspx.cs: 79
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +154
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691

Есть идеи, где это могло привести к сбою?

7
задан Kiquenet 15 February 2016 в 13:31
поделиться