Heim > Backend-Entwicklung > C++ > Wie kann ich den aktuellen Anwendungsbenutzer in der ASP.NET MVC 5-Identität effizient abrufen?

Wie kann ich den aktuellen Anwendungsbenutzer in der ASP.NET MVC 5-Identität effizient abrufen?

DDD
Freigeben: 2024-12-25 09:37:37
Original
1019 Leute haben es durchsucht

How to Efficiently Retrieve the Current ApplicationUser in ASP.NET MVC 5 Identity?

ASP.NET MVC 5 – Identität: Erhalten des aktuellen ApplicationUser

Um die Author-Eigenschaft einer Article-Entität auf festzulegen Für den aktuell authentifizierten Benutzer ist es wichtig, das vollständige ApplicationUser-Objekt abzurufen.

Standard Ansatz

Mithilfe der Identitätserweiterung können Sie den aktuellen Benutzer mithilfe des folgenden Codes mühelos abrufen:

ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == User.Identity.GetUserId());
Nach dem Login kopieren

Dieser Ansatz hat jedoch Nachteile. Es erfordert eine direkte Datenbankabfrage, wodurch zusätzliche Abhängigkeiten und potenzielle Inkonsistenzen bei zukünftigen Datenbankänderungen entstehen.

Alternativer Ansatz

Um diese Einschränkungen zu überwinden, verwenden Sie die von bereitgestellte UserManager-Klasse das ASP.NET Identity Framework:

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

Diese Methode ruft den aktuellen Benutzer effizient ab, ohne dass eine direkte Eingabe erforderlich ist Datenbankzugriff. Es stellt die Konsistenz mit zukünftigen API-Änderungen sicher und eliminiert das Risiko der Einführung neuer Kontextabhängigkeiten.

Synchronisierung mit OWIN

Beim Zugriff auf das Benutzerobjekt außerhalb eines Controllers Rufen Sie die Benutzer-ID aus dem OwinContext des aktuellen HttpContent ab:

ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());
Nach dem Login kopieren

Dieser Ansatz gewährleistet die Synchronisierung mit der von OWIN bereitgestellten Benutzerverwaltung.

Das obige ist der detaillierte Inhalt vonWie kann ich den aktuellen Anwendungsbenutzer in der ASP.NET MVC 5-Identität effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage