我正在尝试在我的软件中创建一个基本的用户管理模块,我已按照本指南创建模块:
我想这是微软推荐的最佳实践。但是,我不明白以下内容:
答案 0 :(得分:2)
身份验证和授权应始终由 后端,因为前端总是可以被操纵或模拟的。 如果您遵循这些说明,授权将完全 由服务器端处理。登录和注销功能将 将您重定向到服务器上运行的剃刀页面。当用户在 通过身份验证,将创建 JWT 并将其发送到您的 Blazor 应用程序。 然后可以使用此令牌来发送身份验证信息 与后续的 HTTP 请求。得到这个有点棘手 接近并运行,但效果很好。
这些示例中使用的身份服务器是 ASP.NET 的一部分。
IdentityServer 和 IdentityServer4 指的是 IdentityServer 包含在 ASP.NET 中。
您还可以使用基于 Cookie 的身份验证并创建一个 Web API 来处理 登录/注销并提供用户信息。易于设置和提供 用于身份验证的 Blazor UI。确保有一个 使用此方法时加密连接,因为您需要 通过 HTTP 请求发送登录信息。
无论如何,我个人会坚持微软的建议并使用 JWT。