Accueil

Accéder à l'Active Directory en C#

by Jean-Camille Mercier 12. juin 2013 10:07

Depuis le framework 3.5 aller requêter sur l'Active Directory est devenu un jeu d'enfant. Voici comment obtenir les informations de l'utilisateur qui a lance l'application.

1- Récupérer son identité sous la forme NOM_AD\NOM_USER :

string identity = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

2- Interroger l'AD :

public static UserPrincipal GetUser(string sUserName)
{
  string name = ConfigurationManager.AppSettings["ADNAME"];
  string userName = ConfigurationManager.AppSettings["ADLOGIN"];
  string password = ConfigurationManager.AppSettings["ADPASSWORD"];

  var oPrincipalContext = new PrincipalContext(ContextType.Domain, name, userName, password);
  return UserPrincipal.FindByIdentity(oPrincipalContext, sUserName);
}

Et c'est tout ! Maintenant toutes les informations sont sur la classe UserPrincipal : MSDN, en autre : 

Bien entendu, ce sont les droits de l'utilisateur avec lequel vous ouvrez le context AD qui détermineront si vous pouvez, ou non, utiliser toutes les fonctions ci-dessus !