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
855 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!

sumber:php.cn
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