gpt4 book ai didi

c# - Blazor WebAssembly - 用户帐户和身份服务器的最佳实践

转载 作者:行者123 更新时间:2023-12-04 12:56:17 28 4
gpt4 key购买 nike

我正在尝试在我的软件中创建一个基本的用户管理模块,并且我已经按照本指南创建了该模块:
https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-identity-server?view=aspnetcore-5.0&tabs=visual-studio
我想这是微软推荐的最佳实践。但是,我不明白以下内容:

  • 是否处理了授权服务器端的部分内容?我想确保没有任何部分(或最少部分)是服务器端呈现的,并且授权应该主要发生在 API 调用中,因为我使用的是 Blazor WebAssembly。所以我想知道为什么我们可以指定 .cshtml 文件等,因为我认为这是服务器端呈现的代码。
  • 在指南中,他们多次引用 IdentityServer(似乎是第三方软件组件)。我正在构建的应用程序是一个商业应用程序。我是否必须为 IdentityServer 购买许可证?如果是,是否有微软推荐的免费方式来做同样的事情?
  • IdentityServer 和 IdentityServer4 有什么区别?
  • 我最终想要做的是一个 Microsoft 最佳实践模块,它允许管理员创建和处理具有不同角色和访问 Blazor WebAssembly 项目不同部分的用户。也许还有其他一些直接的方法可以做到这一点?今天的最佳实践是什么?
  • 最佳答案

  • 身份验证和授权应始终由
    后端,因为前端总是可以被操纵或模拟的。
    如果您遵循这些说明,授权将完全
    由服务器端处理。登录和注销功能将
    将您重定向到服务器上运行的 Razor 页面。当用户在
    通过身份验证,将创建 JWT 并将其发送到您的 Blazor 应用程序。
    然后可以使用此 token 来发送身份验证信息
    与后续的 HTTP 请求。得到这个有点棘手
    接近并运行,但效果很好。
  • 这些示例中使用的身份服务器是 ASP.NET 的一部分。
  • IdentityServer 和 IdentityServer4 指的是 IdentityServer
    包含在 ASP.NET 中。
  • 您还可以使用基于 Cookie 的身份验证并创建一个 Web API 来处理
    登录/注销并提供用户信息。易于设置和提供
    用于身份验证的 Blazor UI。确保有一个
    使用此方法时加密连接,因为您需要
    通过 HTTP 请求发送登录信息。
    无论如何,我个人会坚持微软的建议并使用 JWT。
  • 关于c# - Blazor WebAssembly - 用户帐户和身份服务器的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66873168/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com