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 !