目錄
存取 ASP.NET Core 請求範圍控制器中的使用者詳細資訊
首頁 後端開發 C++ 如何在 ASP.NET Core 請求範圍控制器中有效存取目前使用者資訊?

如何在 ASP.NET Core 請求範圍控制器中有效存取目前使用者資訊?

Jan 13, 2025 pm 12:10 PM

How to Efficiently Access Current User Information in ASP.NET Core Request-Scoped Controllers?

存取 ASP.NET Core 請求範圍控制器中的使用者詳細資訊

檢索經過驗證的使用者詳細資訊(例如電子郵件地址)在 Web 應用程式中至關重要。 然而,在 ASP.NET Core 請求範圍的控制器中有效管理這一點需要仔細考慮。

問題:在控制器的建構函式中直接存取 HttpContext.User 通常會導致 HttpContext 為空,從而阻止使用者資訊擷取。在每個操作方法中重複獲取這些數據效率很低。

解:利用 [Authorize] 屬性和 IHttpContextAccessor 服務。

存取使用者資訊的步驟:

  1. IHttpContextAccessor 中註冊 Startup.cs(或在 .NET 6 及更高版本中註冊 Program.cs):
public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpContextAccessor();
    // ... other services
}
登入後複製
  1. IHttpContextAccessor 注入控制器的建構子中:
public class MyController : Controller
{
    private readonly IHttpContextAccessor _httpContextAccessor;

    public MyController(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
        //Retrieve and store user ID
        var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; 
        //Further processing of userId as needed...
    }

    // ... your controller actions ...
}
登入後複製

這種方法可讓您在控制器的建構子中存取使用者的身分。然後,您可以儲存此資訊以供以後在控制器中使用,從而提高效率並避免重複呼叫HttpContext.User。 使用空條件運算子 (?.) 可以處理聲明可能不存在的情況。

以上是如何在 ASP.NET Core 請求範圍控制器中有效存取目前使用者資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

c語言函數格式字母大小寫轉換步驟 c語言函數格式字母大小寫轉換步驟 Mar 03, 2025 pm 05:53 PM

c語言函數格式字母大小寫轉換步驟

Gulc:從頭開始建造的C庫 Gulc:從頭開始建造的C庫 Mar 03, 2025 pm 05:46 PM

Gulc:從頭開始建造的C庫

c語言函數返回值的類型有哪些?返回值是由什麼決定的? c語言函數返回值的類型有哪些?返回值是由什麼決定的? Mar 03, 2025 pm 05:52 PM

c語言函數返回值的類型有哪些?返回值是由什麼決定的?

c語言函數的定義和調用規則是什麼 c語言函數的定義和調用規則是什麼 Mar 03, 2025 pm 05:53 PM

c語言函數的定義和調用規則是什麼

C標準模板庫(STL)如何工作? C標準模板庫(STL)如何工作? Mar 12, 2025 pm 04:50 PM

C標準模板庫(STL)如何工作?

c語言函數返回值在內存保存在哪裡? c語言函數返回值在內存保存在哪裡? Mar 03, 2025 pm 05:51 PM

c語言函數返回值在內存保存在哪裡?

distinct用法和短語分享 distinct用法和短語分享 Mar 03, 2025 pm 05:51 PM

distinct用法和短語分享

c語言函數最大公約數最小公倍數是什麼 c語言函數最大公約數最小公倍數是什麼 Mar 03, 2025 pm 05:55 PM

c語言函數最大公約數最小公倍數是什麼

See all articles