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
Susan SarandonOriginal
2024-12-27 21:23:14245Durchsuche

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

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!

Stellungnahme:
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