blazor - 如何在 Blazor 中实现路由保护?

标签 blazor blazor-server-side asp.net-core-3.0

我目前正在试用 Blazor 并成功创建了 JWT 身份验证登录。我在尝试创建守卫的部分,但微软提供的文档并没有真正解释太多。如果用户未登录,是否有人可以引导我朝着正确的方向前进以保护我的路线?谢谢你。

最佳答案

Blazor 中路由保护的概念目前不存在。 Blazor 的路线系统相当糟糕,但我想这会在不久的将来发生变化。

作为临时解决方案,我建议您将 JWT token 存储在本地存储中,并在用户尝试访问应用程序的安全部分时读取它以进行验证。您可以创建一个服务,您可以调用该服务在 Init 或 OnParametersSet 组件的生命周期方法期间检查访问权限。

当然,您可以实现自己的自定义路由器;)

希望这可以帮助...

关于blazor - 如何在 Blazor 中实现路由保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55928131/

相关文章:

c# - 将方法作为参数传递时,Blazor 中 "@MethodName"和 "MethodName"之间的区别?

c# - 有没有办法检测用户何时在 Blazor Server 中关闭浏览器?

c# - 如何使用 [FromBody] 忽略 json 反序列化中的错误?

asp.net-core - Blazor:如何获取托管服务实例?

c# - Blazor - 如何将属性应用于组件的父元素

naudio - 我可以使用 NAudio 在 Blazor 应用程序中录制音频吗?

blazor - 如何在 Blazor Server .Net 6 中默认要求所有人进行身份验证(使用自动登录页面重定向)

c# - User.Identity.Name 在 PasswordSignInAsync MVC .Net Core 3.0 之后始终为 null 并声明计数为 0

c# - 新的 .Net Core 2 站点无法识别 Configuration.GetConnectionString

c# - 无法为类型 'IconService' 上的属性 'Microsoft.Fast.Components.FluentUI.FluentIcon' 提供值