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

Wie rufe ich den aktuellen Anwendungsbenutzer in der ASP.NET MVC 5-Identität ab?

Barbara Streisand
Freigeben: 2024-12-27 10:52:10
Original
856 Leute haben es durchsucht

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

So erhalten Sie den aktuellen Anwendungsbenutzer in ASP.NET MVC 5 Identity

Im Gegensatz zum alten Mitgliedschaftsmechanismus bietet ASP.NET Identity eine API für den Zugriff auf das aktuelle Benutzerobjekt. So erhalten Sie es:

UserManager verwenden

In Controllern oder anderen Bereichen, in denen Sie Zugriff auf den Standardbenutzermanager haben, können Sie die FindById-Methode verwenden :

using Microsoft.AspNet.Identity;

public ActionResult Create()
{
    var user = UserManager.FindById(User.Identity.GetUserId());
    return View();
}
Nach dem Login kopieren

In Nicht-Controller

Wenn Sie kein Controller sind, können Sie den folgenden Code verwenden:

using Microsoft.AspNet.Identity;
using System.Web;

public class MyCustomService
{
    private HttpContext _httpContext;

    public MyCustomService(HttpContext httpContext)
    {
        _httpContext = httpContext;
    }

    public ApplicationUser GetCurrentUser()
    {
        var userId = _httpContext.User.Identity.GetUserId();
        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        return userManager.FindById(userId);
    }
}
Nach dem Login kopieren

Using Owin Context (März 2015 Update)< /h3>

Diese Methode kann erforderlich sein, wenn über den OWIN-Kontext auf den aktuellen Benutzer zugegriffen wird, z von SignalR Hubs oder in anderen Szenarien, in denen die Standardmechanismen nicht verfügbar sind:

using Microsoft.AspNet.Identity;
using System.Web;

public class MySignalRHub : Hub
{
    public ApplicationUser GetCurrentUser()
    {
        var user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());
        return user;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich den aktuellen Anwendungsbenutzer in der ASP.NET MVC 5-Identität ab?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage