Vì vậy, tôi có một câu hỏi tôi thành thật không hoàn toàn chắc chắn làm thế nào để yêu cầu. Về cơ bản tôi có một chút mã hoạt động tuyệt vời trên máy cục bộ của mình khi tôi chạy nó. Khi tôi xuất bản nó lên máy chủ web phát triển của chúng tôi, nó không thành công. Tôi không chắc chắn nếu nó là một vấn đề thiết lập IIS, vấn đề web.config hoặc một vấn đề mã hóa.C# Active Directory PrincipalContext/UserPrincipal.IsMemberOf lỗi
Dưới đây là đoạn mã
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;
Nơi tôi vượt qua trong một tên người dùng và một nhóm và nó nói với tôi nếu người dùng đó là một thành viên trong nhóm đó. Không vấn đề gì. Hoạt động tốt trên máy của tôi. Tôi đi công bố đoạn mã đó để máy chủ web và nó không thành công khi nó chạm dòng
UserPrincipal user = UserPrincipal.FindByIdentity(ADDomain, userID);
nó throws lỗi này:
[DirectoryServicesCOMException (0x80072020): An operations error occurred.]
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 entry, 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 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(Object sender, EventArgs e) in 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
Bất kỳ ý tưởng nơi này có thể được không?
Bạn biết đó là gì. Máy chủ web không có thông tin xác thực phù hợp để nhấn Active Directory. Đặt một số thông tin trong đó và nó hoạt động khá hơn một chút. Cảm ơn! – Seril