The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何實作沒有 ASP.NET Core Identity 的 Cookie-based 身分驗證機制

在 .NET Framework 中,身分認證機制可以使用「表單驗證」(Forms Authentication) 來實作,這種以 Cookie 為基礎的身分驗證方式,相當容易上手,只要學習幾個 API 就可以快速完成實作。本篇文章我將解說如何在 ASP․NET Core 中實作出類似「表單驗證」的身分驗證機制,雖然架構相似,但名稱已改,建議各位日後就稱他為「以 Cookie 為基礎的身分驗證方式」,英文是「 Cookie-based Authentication 」!

... 繼續閱讀 ...

如何在 ASP.NET Core 3 使用 Token-based 身分驗證與授權 (JWT)

我在兩個月前所撰寫的 如何在 ASP.NET Core 2.2 使用 Token-based 身分驗證與授權 (JWT) 文章,雖然到了 ASP․NET Core 3 之後所有程式碼都是可以用的,但是專案架構設定的過程變得有點不太一樣,因此寫這篇文章說明其差異。

... 繼續閱讀 ...

認識 ASP․NET Core 檔案提供者與透過 Web API 下載實體檔案

昨天有位學員問到如何透過 ASP․NET Core Web API 下載檔案,原本認為這只是個簡單的問題,畢竟就只是抓個檔案嘛,哪有什麼難的,隨便 Google 兩下就有答案了。但是這個簡單的問題,卻激起我的好奇心,為什麼以往在 ASP․NET MVC 5 非常簡單的寫法,竟然到了 ASP․NET Core 就不能用了?欲知詳情,請繼續看下去!

... 繼續閱讀 ...

如何在 ASP.NET Core 2.2 使用 Token-based 身分驗證與授權 (JWT)

在 Microsoft Docs 官方文件中,幾乎找不到任何關於 Token-based 身分驗證的做法說明,網路上能找到的都是部落格文章,而且大家的實作方式雖然大同小異,但是大多沒交代細節,甚至有些不具意義的寫法。本篇文章將分享相對簡便的設定方法,順便解說一些技術細節,讓一個沒有實作身分驗證的 ASP.NET Core Web API 專案,可以快速的加入以 JWT 為主的 Token-based 驗證方式。

... 繼續閱讀 ...

如何快速建立 Oracle Database Server 12c R2 資料庫容器並建立使用者

最近越來越多 ASP.NET Core 企業內訓需求,有客戶提到希望能在上課的時候展示 Entity Framework Core 與 Oracle 資料庫的整合能力,我第一時間就想到要在本機安裝 Oracle 資料庫容器起來,快速建立可開發測試的環境。不過,雖然建立 Oracle 資料庫容器相當簡單方便,但不太熟悉 Oracle 資料庫特性的我,卻連第一步「建立使用者」都沒辦法成功,錯誤訊息也相當難以理解,花了一些時間才找到解決之道。

... 繼續閱讀 ...

使用 ASP.NET Core 2.2 開發 Web API 的注意事項

最近整理了一下 ASP.NET Core 2.2 Web API 在開發時的注意事項,魔鬼總是出現在細節裡,有些資訊沒遇到問題也不會特別去看,但有時間的時候,從頭到尾釐清一遍,其實還是很有幫助的。

... 繼續閱讀 ...

深入理解 C# 7.1 提供的 async 非同步 Main() 方法

我們在開發 .NET 應用程式的時候,預設選取的 C# 語言版本為「最新已發行主要版本」(latest major version),如果以 Visual Studio 2017 v15.9.10 來說,內建的 C# 最新發行版本就是 7.3 版,因此主要版本就是 7.0 版。本篇文章要來介紹 C# 7.1 提供的一個語法糖,它能讓你的 Console 應用程式,將主程式的進入點 Main() 方法也能宣告為非同步(async)的版本,好讓你從頭到尾都用非同步的方式開發應用程式,最後還會說明這個新語法背後的技術原理。

... 繼續閱讀 ...

CoreRT 初體驗:將 .NET Core 應用程式封裝成單一可執行檔

我之前曾經在 如何將 SCD 部署的 .NET Core 應用程式封裝單一可執行檔 (Warp) 文章中分享過 Warp 這套工具,也在該文最後分享 CoreRT 應該才是最終的解決方案。今天這篇文章我就來分享如何透過 CoreRT 來編譯你的 .NET Core 應用程式! 

... 繼續閱讀 ...

如何在 VSCode 設定完整的 .NET Core 建置、發行與部署工作

現在越來越多專案改用 .NET Core 進行開發,而且大部分都部署在 Linux 平台,不過開發環境一直都是在 Windows 平台之上,要怎樣有效率的整合本地端的開發與建置工作,甚至於設定可以輕鬆將發行檔案到遠端的部署流程,都是一關關的考驗。本篇文章我打算分享我這邊 VSCode 的設定方式,看我如何將常見的命令自動化。

... 繼續閱讀 ...