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

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

Susan Sarandon
發布: 2024-12-27 21:23:14
原創
289 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板