我有一个登录页面,用于验证具有活动目录的凭据并重定向到下一页。当我在本地运行它时它工作得很完美,但是当我把它放在我们的web服务器上时,它会在尝试创建组主体时出错:(System.DirectoryServices.DirectoryServicesCOMException(0x80072020))
我需要找出为什么它可以在一个而不是另一个上工作。任何意见都非常感谢。
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain.com");
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, "Building Webmasters");
UserPrincipal up = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, txtUserName.Value);
bool auth = ctx.ValidateCredentials(txtUserName.Value, txtPassword.Value);
bool groupauth = grp.Members.Contains(up);
答案 0 :(得分:0)
我发现它在创建用户主体时抛出了错误。所以我把它更改为抓取组主体并执行包含重载的包含,我可以从表单中传入用户名。这对我有用。
bool auth = ctx.ValidateCredentials(txtUserName.Value, txtPassword.Value);
bool groupauth = grp.Members.Contains(ctx, IdentityType.SamAccountName, txtUserName.Value);
bool adminauth = admingrp.Members.Contains(ctx, IdentityType.SamAccountName, txtUserName.Value);