我正在尝试使用.NET System.DirectoryServices.AccountManagement库来获取特定Active Directory用户的UserPrincipal。

我有以下代码:

PrincipalContext context = new PrincipalContext(ContextType.Domain, "DomainName");
userPrincipal = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username);

该代码以有效的域用户身份运行,但是当我执行该代码时,出现以下异常:



有趣的是,我可以使用相同的上下文进行以下调用,而不会出现问题:
context.ValidateCredentials(username, password, ContextOptions.Negotiate)

有想法吗?

最佳答案

您需要使用采用用户名和密码的PrincipalContext构造函数。

验证有效的原因是因为它使用提供的凭据绑定(bind)到目录。

关于c# - UserPrincipal.FindByIdentity权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3579588/

10-11 08:35