古いメンバーシップ メカニズムとは異なり、ASP.NET ID は現在のユーザー オブジェクトにアクセスするための API。取得方法は次のとおりです。
デフォルトのユーザー マネージャーにアクセスできるコントローラーまたはその他の領域では、FindById メソッドを利用できます。 :
using Microsoft.AspNet.Identity; public ActionResult Create() { var user = UserManager.FindById(User.Identity.GetUserId()); return View(); }
コントローラーの外部にいる場合は、次のコードを使用できます:
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); } }
このメソッドは、現在のユーザーにアクセスするときに必要になる場合がありますSignalR ハブなどの OWIN コンテキストから、または標準メカニズムが利用できない他のシナリオから:
using Microsoft.AspNet.Identity; using System.Web; public class MySignalRHub : Hub { public ApplicationUser GetCurrentUser() { var user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); return user; } } 以上がASP.NET MVC 5 ID で現在の ApplicationUser を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。