기존 멤버십 메커니즘과 달리 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 Hubs 또는 표준 메커니즘을 사용할 수 없는 다른 시나리오와 같은 OWIN 컨텍스트:
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; } }
위 내용은 ASP.NET MVC 5 ID에서 현재 ApplicationUser를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!