驗證替使用者建立身分識別,授權則是用來判斷使用者能不能使用某一個功能,ASP.NET Core 提供許多的授權 Role、Claims、Policy 等,老實講 Policy 授權使用上有一點門檻,分享一下我的實際用法,也給需要的人參考
驗證替使用者建立身分識別,授權則是用來判斷使用者能不能使用某一個功能,ASP.NET Core 提供許多的授權 Role、Claims、Policy 等,老實講 Policy 授權使用上有一點門檻,分享一下我的實際用法,也給需要的人參考
ASP.NET Core 提供了許多身分驗證的 Middleware,內建的 AuthenticationMiddleware (app.UseAuthentication) 需要搭配 AuthenticationHandler,這裡我將介紹如何使用自訂的身分驗證跟 AuthenticationMiddleware 的串接,驗證成功後替使用者建立身分識別
在 ASP.NET Core 的整合測試我們可以使用 WebApplicationFactory、TestServer,這我前面幾篇已經提過了需要的可以參考之前的文章 WebApplicationFactory、TestServer。Middleware 用上述的步驟肯定是沒有問題的,但是需要的環境、步驟也比較多,可能還會因為其他 Middleware 順序所帶來的影響,今天我還要分享 ASP.NET Core內建 Mock HttpContext 做法,讓我們可以快速的針對某一個 Middleware 進行單元測試
C# 9 開始就可以不用在主控台程式包含 main 方法(Top-level statements),在 .NET 6,ASP.NET Core 6 也支援了 Top-level statements 專案範本,已經直接套用此功能,我用 WebApplicationFactory 寫整合測試時,碰到一點小問題,以下是解決問題的經過
前幾年編寫了 [Swagger] 一些 Swagger 編寫文件的技巧和 Client Code Gen ,不過,已經不適用 ASP.NET Core 6,正好,團隊正在重視 API 文件,正好趁這機會更新 Swashbuckle.AspNetCore 使用
以往我都使用 dotTrace 診斷 .NET 應用程式的使用狀況,可以得知執行時間、佔用記憶體、SQL Command 等。

但,NET Core 沒有支援 SQL ETW,代表攔截不到有關 SQL 的命令,於是我得尋求其它解方,MiniProfiler 則是這次的調查對象。
以往 ASP.NET Core 可以使用 TestServer 來進行整合測試,現在多了一個選擇 WebApplicationFactory,WebApplicationFactory 基於 TestServer 又封裝了更多的功能,我覺得使用起來又更簡單了,如果可以的話可以改用它
由於 .NET Core 跨平台,除了可以部署在 VM 的 IIS 之外,Docker 也是選項之一,它的使用體驗甚至比 VM 還要來的好,部署速度也比 VM 快很多
.NET Framework 可以利用 OWIN 把 Web API 掛載起來,用測試打進去,在 .NET Core 可以用 WebHost,如果你需要 .NET Framework 的請到以下連結https://dotblogs.com.tw/yc421206/2019/01/05/webapi_test_via_owin