如何在 Blazor 中实现路由防护?

Mar*_*iaz 4 blazor blazor-server-side asp.net-core-3.0

我目前正在尝试 Blazor 并已成功创建 JWT Auth 登录。我正在尝试创建警卫,但微软提供的文档并没有真正解释太多。如果用户未登录,是否有人可以指导我正确的方向来保护我的路线?谢谢。

Isa*_*aac 5

Blazor 中目前不存在路由守卫的概念。Blazor 的路线系统相当糟糕,但我想这种情况在不久的将来会改变。

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

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

希望这可以帮助...