Итак, у меня есть вопрос, который я, честно говоря, не совсем уверен, как его задать. По сути, у меня есть немного кода, который фантастически работает на моей локальной машине, когда я его запускаю. Как только я публикую его на нашем веб-сервере разработки, он не работает. Я не уверен, что это проблема установки 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 (Boolean throwIfFail) + 788
System.DirectoryServices.DirectoryEntry.Bind () + 44
System.DirectoryServices.DirectoryEntry.get_AdsObject () + 42
System.DirectoryServices.PropertyValueCollection.PopulateList () + 29
System.DirectoryServices.PropertyValueCollection..ctor (DirectoryEntry
запись, String 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
System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx ()
+ 42
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (PrincipalContext
контекст, тип 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 (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) + 3691
Есть идеи, где это может не получиться?