Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mendapatkan semula ApplicationUser semasa dalam ASP.NET MVC 5 Identity?

Bagaimana untuk mendapatkan semula ApplicationUser semasa dalam ASP.NET MVC 5 Identity?

Barbara Streisand
Lepaskan: 2024-12-27 10:52:10
asal
956 orang telah melayarinya

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

Cara Mendapatkan Pengguna Aplikasi Semasa dalam ASP.NET MVC 5 Identity

Tidak seperti mekanisme Keahlian lama, ASP.NET Identity menyediakan API untuk mengakses objek pengguna semasa. Begini cara anda boleh mendapatkannya:

Menggunakan UserManager

Dalam pengawal atau kawasan lain di mana anda mempunyai akses kepada pengurus pengguna lalai, anda boleh menggunakan kaedah FindById :

using Microsoft.AspNet.Identity;

public ActionResult Create()
{
    var user = UserManager.FindById(User.Identity.GetUserId());
    return View();
}
Salin selepas log masuk

Masuk Bukan Pengawal

Jika anda berada di luar pengawal, anda boleh menggunakan kod berikut:

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);
    }
}
Salin selepas log masuk

Menggunakan Konteks Owin (Kemas Kini Mac 2015)< /h3>

Kaedah ini mungkin diperlukan apabila mengakses pengguna semasa daripada Konteks OWIN, seperti dari SignalR Hubs atau dalam senario lain di mana mekanisme standard tidak tersedia:

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;
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semula ApplicationUser semasa dalam ASP.NET MVC 5 Identity?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan