Question

Je souhaite obtenir le nom d'utilisateur de l'utilisateur actuellement connecté.J'utilise le code ci-dessous mais il renvoie l'utilisateur dont les informations d'identification sont utilisées dans l'identité du pool d'applications IIS.Le site mvc est déployé sur un serveur.

j'ai utilisé

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

string userid = Environment.UserName;

string userid = System.DirectoryServices.AccountManagement.UserPrincipal.Current.GivenName.ToString();

string userid = System.Web.HttpContext.Current.User.Identity.Name.ToString()

Mais rien ne semble me donner une réponse correcte.

J'ai besoin d'obtenir le nom d'utilisateur dans le constructeur du HomeController.

Ci-dessous mon web.config

<authentication mode="Windows" />
<authorization>
    <allow users="*" />
</authorization>
Était-ce utile?

La solution

juste au lieu de

string userid = System.Web.HttpContext.Current.User.Identity.Name.ToString()

utilise ceci, cela fonctionnera bien

string userid = HttpContext.Current.User.Identity.Name.ToString() 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top