首頁 >後端開發 >C++ >如何在 ASP.NET MVC 5 中擷取目前登入的 ApplicationUser?

如何在 ASP.NET MVC 5 中擷取目前登入的 ApplicationUser?

Susan Sarandon
Susan Sarandon原創
2024-12-27 21:23:14292瀏覽

How to Retrieve the Currently Logged-in ApplicationUser in ASP.NET MVC 5?

ASP.NET MVC 5:擷取目前ApplicationUser

在ASP.NET MVC 5 的Identity 框架中存取目前登入的ApplicationUser 需要一個登入目前的ApplicationUser具體的方法。與舊的Membership機制不同,Identity提供了與使用者資料互動的一致介面。

檢索ApplicationUser對象

取得目前ApplicationUser的完整對象,不要直接查詢資料庫。相反,請使用提供的API:

var user = UserManager.FindById(User.Identity.GetUserId());

對於非同步操作,請使用:

var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

確保包含下列using 語句:

using Microsoft.AspNet.Identity;

存取用戶ID

在控制器之外,用戶ID可擷取自:
System.Web.HttpContext.Current.User.Identity.GetUserId();

場景:存取ApplicationDbContext 和UserManager

如果您不在Account 控制器中,請將這些屬性和建構函式程式碼新增至您的控制器中:
protected ApplicationDbContext ApplicationDbContext { get; set; }
protected UserManager<ApplicationUser> UserManager { get; set; }

public YourController()
{
    this.ApplicationDbContext = new ApplicationDbContext();
    this.UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(this.ApplicationDbContext));
}

Azure資料庫注意事項

將 Identity Framework 與遠端 Azure 資料庫連線結合使用時,您可能會遇到「錯誤:19 - 實體連線無法使用」訊息。若要解決此問題,請在專案中實作自訂 SqlAzureExecutionStrategy。

以上是如何在 ASP.NET MVC 5 中擷取目前登入的 ApplicationUser?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn