Aktuellen angemeldeten Benutzernamen abrufen
-
02-01-2020 - |
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>
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()