Heim >Backend-Entwicklung >C++ >Wie rufe ich den aktuell angemeldeten Anwendungsbenutzer in ASP.NET MVC 5 ab?
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());
Für asynchrone Aktionen verwenden Sie:
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
Stellen Sie sicher, dass die folgende using-Anweisung enthalten ist:
using Microsoft.AspNet.Identity;
Zugriff auf die Benutzer-ID
Außerhalb einer Steuerung kann die Benutzer-ID abgerufen werden von:
System.Web.HttpContext.Current.User.Identity.GetUserId();
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)); }
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!