我正在尝试使用.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/