(24/30)大家一起學Blazor:<AuthorizeRouteView>運用

(24/30)大家一起學Blazor:<AuthorizeRouteView>運用

前天有在`Blog.razor`加入通過驗證及未通過的顯示內容,但如果系統要呈現的未通過驗證內容都一樣,在每個Component 都這樣寫就太浪費時間了,可以利用`App.razor`幫我們做統一呈現的事。

最後更新 2021/12/23 下午10:51
StrayaWorker
預計閱讀 1 分鐘
分類
Blazor
專題
一起學Blazor系列
標籤
.NET C# ASP.NET Core Blazor

前天有在Blog.razor加入通過驗證及未通過的顯示內容,但如果系統要呈現的未通過驗證內容都一樣,在每個 Component 都這樣寫就太浪費時間了,可以利用App.razor幫我們做統一呈現的事。

先把Blog.razor原本包覆內容的<AuthorizeView>刪除,剪下<NotAuthorized>的部分,再加上@attribute [Authorize]這行,告知 Blazor 這個 Component 需要驗證。

再將 App.razor 原本的單標籤 (single tag) 改成配對標籤 (paired tags),貼上剛剛剪下的 <NotAuthorized>,這時候再啟動網站,未驗證情況下看到的內容會一樣。

目前只要通過驗證的使用者都能看到相同 Component,不過大部分系統通常都會有角色或是權限劃分,以區分不同使用者,明天就來嘗試用 Role 區分授權。

註:本文程式碼透過 .NET 6 + Visual Studio 2022 重構,可點擊原文連結與重構後程式碼比較學習,謝謝閱讀,支持原作者

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2021/12/25

(29/30)大家一起學Blazor:Blazor單元測試

開發一個系統最無聊的過程大概就是解決 Bug 了,尤其是那種嘗試對 null 物件取值的錯誤(`Object reference not set to an instance of an object.`),這應該是大部分人剛踏入程式設計領域最常碰到的問題,為了從枯燥的解決 Bug 過程解脫,這篇就來介紹`單元測試`。

繼續閱讀
同分類 / 同標籤 2021/12/25

(28/30)大家一起學Blazor:Policy-based authorization

之前有說到`ASP.NET Core Identity` 使用的是基於`Claim` 的驗證,其實`ASP.NET Core Identity` 有不同類型的授權方式,最簡單的`登入授權`、`角色授權`、`Claim 授權`,但上述幾種都是以一種方式實現:原則授權(`Policy-based authorization`)。

繼續閱讀