在服务器端 Blazor 中使用 SignInManager

Pep*_*ger 6 c# asp.net asp.net-core blazor blazor-server-side

SignInManager没有的话可以使用吗HTTPContext?我正在制作 Blazor 服务器端应用程序,我需要让最终用户使用 的PasswordSignInAsync()方法登录SignInManager

如果有其他方法可以用cookies或其他东西来做到这一点,我也会采用,只要它们是“干净”的方法。

如果我还能得到有关如何配置解决Startup.cs方案的解释,那就完美了。

Isa*_*aac -1

我强烈建议您在应用程序中使用身份验证系统。您不应该尝试创建任何身份验证系统。这是免费的,并且可以在几分钟内完成设置。不要浪费时间做这么复杂的事情。相反,请了解什么是 Blazor 授权组件以及如何在应用程序中使用它们。他们都是伟大的。

注意:Blazor Server 与其客户端之间的通信是通过 SignaleR 完成的。HttpContext 大多数时候不可用。不要尝试使用 HttpContext。实际上,你不能,因为每当你尝试访问它时,它都是空的。

以下内容描述了如何使用身份 UI 创建 Blazor 服务器应用程序:

  • 开始创建 Blazor 应用程序

  • 在标题为“创建新的 Blazor 应用程序”的窗口中执行以下操作:

    1. 选择 Blazor 服务器应用程序
    2. 窗口右侧的“身份验证”标题下有一个带有“更改”文本的链接。点击链接并选择个人用户帐户。按确定...
    3. 单击“创建”按钮

Visual Studio 已为您创建了一个带有身份 UI 的 Blazor 服务器应用程序来对您的用户进行身份验证。请注意,身份 UI 实际上是与 Razor Pages 和 MVC 一起使用的 Razor Pages 身份 UI。如果您需要进行一些更改,您可以从该系统中搭建一个或多个项目。转到解决方案资源管理器并验证 Visual Studio 是否已添加两个名为 Areas 和 Data 的文件夹。她还为您的 Startup 类配置了管理 Identity UI 所需的服务。您现在想要的是创建存储用户名、角色、声明等的数据库。要创建数据库,您应该使用migrations这是一个链接,告诉您如何运行为您完成这项工作的命令。现在您可以运行应用程序、注册网站、登录、注销等。

祝你好运。

  • 做。不要寻找解决方法。实际上你所说的解决方法是什么意思。没有必要这样的事情。一切都已经为你创造好了...... (2认同)