簡體   English   中英

在 MVC6 中使用 ASP.NET Identity 時從控制器訪問登錄用戶的字段

[英]Accessing the logged in User's fields from the controller when using ASP.NET Identity with MVC6

我有一個 ASP.NET MVC 6 Web 應用程序。 除了用戶之外,我對所有東西都使用 Dapper。 對於用戶,我使用內置的 Identity 和 EntityFramework,就像微軟給你的那樣。

我正在使用 dapper 將新產品保存到數據庫中。 在我的控制器中保存該產品后,將返回新的產品模型,但我需要在將其返回到視圖模型之前設置當前用戶的名字和姓氏。

我知道一種方法是使用 Dapper 進行另一個數據庫調用,比如 GetUserByUsername,它會轉到 AspNetUsers 表並檢索和綁定我想要的任何屬性。 由於我的 dapper 項目模型是獨立的,在這種情況下,我很可能會創建另一個名為 User 的模型類,而不是使用 ApplicationUser 類。

我真的應該這樣做嗎? 如果我可以使用 User.Identity.Name 獲取當前登錄的用戶名,是否有任何內置的身份功能可以用來實際檢索整個用戶?

您應該可以使用 UserManager 類https://msdn.microsoft.com/en-us/library/dn613290(v=vs.108).aspx

實例化管理器后,您應該能夠使用如下查詢 _userManager.Users.Single(a => a.UserName == "XXXXXX");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM