我们如何检查 USERID 是否存在于 Active Directory 中。
我有 LDAP 字符串和用户 ID,我能否找到该用户 ID 是否存在于 Active Directory 中。我将它用于 ASP.NET Web 应用程序(.NET 3.5)
我们如何检查 USERID 是否存在于 Active Directory 中。
我有 LDAP 字符串和用户 ID,我能否找到该用户 ID 是否存在于 Active Directory 中。我将它用于 ASP.NET Web 应用程序(.NET 3.5)
您可以执行以下操作(将域替换为您正在验证的域或完全删除参数):
public bool DoesUserExist(string userName)
{
using (var domainContext = new PrincipalContext(ContextType.Domain, "DOMAIN"))
{
using (var foundUser = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName))
{
return foundUser != null;
}
}
}
实现检查用户是否存在。这来自System.DirectoryServices.AccountManagement
命名空间和程序集。
您可以在http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx找到更多信息
您可能需要更多地检查 PrincipalContext,因为它具有用于验证用户凭据等的有趣方法。
我会使用System.DirectoryServices.AccountManagement
命名空间。
string UserID = "grhm";
bool userExists = false;
using (var ctx = new PrincipalContext(ContextType.Domain))
{
using (var user = UserPrincipal.FindByIdentity(ctx, UserID))
{
if (user != null)
{
userExists = true;
user.Dispose();
}
}
}
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb344891.aspx