Jun 28

Activer les roles dans le web.config (System.Web) :

<authentication mode="Windows" /> 

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />

Ajouter les références suivantes :

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

1) Récupérer le login de l'utilisateur :

public static string GetUserName()
{
	return HttpContext.Current.User.Identity.Name;
}

2) Récupérer le prénom de l'utilisateur :

public static string GetFirstName()
{
	string principal = GetUserName();
	PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
	UserPrincipal user = UserPrincipal.FindByIdentity(ctx,principal);
	return user.GivenName;
}

A partir de cette méthode, tout est récupérable, il suffit de changer le GivenName par la propriété correspondante.

3) Tester un droit pour l'utilisateur connecté :

Après avoir ajouté cette chaine dans le web.config :

<appSettings>
	……
	<add key="admin" value="Domaine\Droit"/>
</appSettings> 

public static bool UserIsAdmin()
{
	return Roles.IsUserInRole(ConfigurationManager.AppSettings["admin"]);
}

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading