Frage

Ich möchte den Benutzernamen des aktuell angemeldeten Benutzers erhalten.Ich verwende den folgenden Code, aber er gibt den Benutzer zurück, dessen Anmeldeinformationen in der IIS-Anwendungspoolidentität verwendet werden.Die MVC-Website wird auf einem Server bereitgestellt.

Ich habe benutzt

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()

Aber nichts scheint mir die richtige Antwort zu geben.

Ich muss den Benutzernamen im Konstruktor des abrufen HomeController.

Unten ist meine web.config

<authentication mode="Windows" />
<authorization>
    <allow users="*" />
</authorization>
War es hilfreich?

Lösung

einfach statt

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

Verwenden Sie dies, das wird gut funktionieren

string userid = HttpContext.Current.User.Identity.Name.ToString() 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top