(24/30)大家一起学Blazor:<AuthorizeRouteView>运用
Article

(24/30)大家一起学Blazor:<AuthorizeRouteView>运用

前天有在`Blog.razor`加入通过验证及未通过的显示内容,但如果系统要呈现的未通过验证内容都一样,在每个Component 都这样写就太浪费时间了,可以利用`App.razor`帮我们做统一呈现的事。

发布于 2021-12-23 22:51
更新于 2021-12-23 22: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`)。

继续阅读