.NET云原生应用实践(五):使用Blazor WebAssembly实现前端页面

💡 原文中文,约9100字,阅读约需22分钟。
📝

内容提要

本章介绍如何在Blazor WebAssembly中实现“贴纸”页面的认证与授权机制。Blazor WebAssembly是微软开发的现代Web应用框架,支持使用C#构建客户端应用。文章回顾了已实现的功能,并探讨了自定义组件、HttpClient访问后端服务及认证授权的实现,最终目标是构建完整的“Sticker前端应用”并解决用户权限管理问题。

🎯

关键要点

  • 本章目标是使用Blazor WebAssembly实现管理“贴纸”页面的认证与授权机制。

  • 如果不感兴趣Blazor WebAssembly,可以使用其他前端技术完成案例的界面部分。

  • 目前已实现的功能包括自定义组件、HttpClient访问后端服务及认证授权的实现。

  • Blazor WebAssembly是微软开发的现代Web应用程序框架,允许使用C#构建客户端应用。

  • Blazor应用程序分为Blazor服务端应用和Blazor WebAssembly应用。

  • 选择Blazor WebAssembly的原因包括对微软技术的熟悉和开发者体验的尝试。

  • 构建Stickers.Web应用时,需要创建Blazor WebAssembly应用并启用认证机制。

  • 自定义组件可以封装可重用的前端代码,通过参数和事件与其他组件交互。

  • 使用HttpClient访问后端服务非常方便,只需在Program.cs中配置HttpClient。

  • 在Blazor WebAssembly中实现认证与授权需要自定义DelegatingHandler。

  • AuthorizationMessageHandler可以用于将access token附加到HTTP请求上。

  • 用户的access token不代表其有权限访问所有页面,需进行授权检查。

  • 可以设计前端授权机制以控制组件和页面的访问,减少出错几率。

  • 自定义AuthorizationMessageHandler以处理403 Forbidden状态码并进行页面跳转。

  • 总结了基于Blazor WebAssembly实现前端的主要方面,源代码可供下载。

延伸问答

Blazor WebAssembly是什么?

Blazor WebAssembly是微软开发的现代Web应用程序框架,允许使用C#构建客户端应用,利用WebAssembly的性能优势在浏览器中运行高性能的应用。

如何在Blazor WebAssembly中实现认证与授权?

在Blazor WebAssembly中,可以自定义DelegatingHandler并使用AuthorizationMessageHandler将access token附加到HTTP请求上,以实现认证与授权。

为什么选择Blazor WebAssembly而不是其他前端框架?

选择Blazor WebAssembly的原因包括对微软技术的熟悉、开发者体验的尝试以及对C#技术栈的熟悉,这些因素使得开发过程更为方便快捷。

如何使用HttpClient访问后端服务?

在Blazor WebAssembly中,可以在Program.cs中配置HttpClient,并通过注入HttpClientFactory在组件中使用它来访问后端服务。

自定义组件在Blazor WebAssembly中的作用是什么?

自定义组件可以封装可重用的前端代码,通过参数和事件与其他组件交互,提高代码的复用性和可维护性。

在Blazor WebAssembly中如何处理403 Forbidden状态码?

可以自定义AuthorizationMessageHandler,在发送请求时判断返回的状态码,如果是403 Forbidden,则跳转到相应的错误页面。

🏷️

标签

➡️

继续阅读