Pour WinForms, utiliser System.Threading.Thread.CurrentPrincipal avec la méthode IsInRole() pour vérifier quels groupes ils sont membre de. Vous devez d'abord définir la stratégie principale de l'AppDomain sur WindowsPrincipal.
Utilisez cette option pour obtenir le nom de l'utilisateur actuel:
private string getWindowsUsername()
{
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
return Thread.CurrentPrincipal.Identity.Name;
}
Et puis quelque chose comme ceci pour vérifier un rôle:
if (Thread.CurrentPrincipal.IsInRole("Domain Users") == true)
{}
Dans ASP.NET, le thread appartiendra à IIS, donc Au lieu de cela, vous devez
- Définir le dossier virtuel ou le site Web pour exiger une authentification
- Obtenir le nom d'utilisateur fourni par le navigateur avec Request.ServerVariables (« LOGON_USER »)
- Utilisez la classe DirectorySearcher pour trouver les groupes d'utilisateurs