Comment pouvons-nous vérifier si l'USERID existe dans Active Directory ou non.
J'ai une chaîne LDAP et un ID utilisateur, puis-je savoir si cet ID utilisateur existe dans Active Directory ou non. J'utilise ceci pour ASP.NET Web Application (.NET 3.5)
Vous pouvez faire quelque chose comme (remplacer le domaine par le domaine contre lequel vous vous authentifiez ou supprimer complètement le paramètre):
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;
}
}
}
Pour vérifier si un utilisateur existe. Cela vient du System.DirectoryServices.AccountManagement
namespace et Assembly.
Vous pouvez trouver plus d'informations sur http://msdn.Microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx
Vous voudrez peut-être vérifier davantage dans PrincipalContext car il a des méthodes intéressantes pour authentifier les informations d'identification de l'utilisateur et autres.
J'utiliserais le System.DirectoryServices.AccountManagement
espace de noms.
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();
}
}
}
Voir http://msdn.Microsoft.com/en-us/library/bb344891.aspx pour plus d'informations