(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),貼上剛剛剪切的,這時候再啟動網站,未驗證情況下看到的內容會一樣。

目前只要通过验证的用户都能看到相同 Component,不过大部分系统通常都会有角色或是权限划分,以区分不同用户,明天就来尝试用Role 区分授权。

註:本文代碼通過 .net 6 + visual studio 2022 重構,可點擊原文連結與重構後代碼比較學習,謝謝閱讀,支持原作者

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 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`)。

继续阅读