Heim > Backend-Entwicklung > C++ > Wie rufe ich den aktuell angemeldeten Anwendungsbenutzer in ASP.NET MVC 5 ab?

Wie rufe ich den aktuell angemeldeten Anwendungsbenutzer in ASP.NET MVC 5 ab?

Susan Sarandon
Freigeben: 2024-12-27 21:23:14
Original
297 Leute haben es durchsucht

How to Retrieve the Currently Logged-in ApplicationUser in ASP.NET MVC 5?

ASP.NET MVC 5: Abrufen des aktuellen Anwendungsbenutzers

Der Zugriff auf den aktuell angemeldeten Anwendungsbenutzer im Identitätsframework von ASP.NET MVC 5 erfordert ein spezifischer Ansatz. Im Gegensatz zum alten Mitgliedschaftsmechanismus bietet Identity eine konsistente Schnittstelle für die Interaktion mit Benutzerdaten.

Abrufen des ApplicationUser-Objekts

Um das vollständige Objekt des aktuellen ApplicationUser zu erhalten, Fragen Sie die Datenbank nicht direkt ab. Verwenden Sie stattdessen die bereitgestellte API:

var user = UserManager.FindById(User.Identity.GetUserId());
Nach dem Login kopieren

Für asynchrone Aktionen verwenden Sie:

var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
Nach dem Login kopieren

Stellen Sie sicher, dass die folgende using-Anweisung enthalten ist:

using Microsoft.AspNet.Identity;
Nach dem Login kopieren

Zugriff auf die Benutzer-ID

Außerhalb einer Steuerung kann die Benutzer-ID abgerufen werden von:

System.Web.HttpContext.Current.User.Identity.GetUserId();
Nach dem Login kopieren

Szenario: Zugriff auf ApplicationDbContext und UserManager

Wenn Sie sich nicht im Account Controller befinden, fügen Sie diese Eigenschaften und den Konstruktorcode zu Ihrem Controller hinzu:

protected ApplicationDbContext ApplicationDbContext { get; set; }
protected UserManager<ApplicationUser> UserManager { get; set; }

public YourController()
{
    this.ApplicationDbContext = new ApplicationDbContext();
    this.UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(this.ApplicationDbContext));
}
Nach dem Login kopieren

Azure Database-Überlegungen

Wann Wenn Sie Identity Framework mit einer Remote-Azure-Datenbankverbindung verwenden, wird möglicherweise die Meldung „Fehler: 19 – Physische Verbindung ist nicht verwendbar“ angezeigt. Um dieses Problem zu beheben, implementieren Sie eine benutzerdefinierte SqlAzureExecutionStrategy in Ihrem Projekt.

Das obige ist der detaillierte Inhalt vonWie rufe ich den aktuell angemeldeten Anwendungsbenutzer in ASP.NET MVC 5 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage