1

我正在学习 blazor,并且在验证身份验证方面遇到了一些困难。我有一个托管的 .net core web api 并希望将 blazor web 程序集连接到它,但我发现的所有教程都使用它托管在一个包中的 asp.net core 主机中。像这样在同一台机器上托管时,身份验证的安全性如何?

4

2 回答 2

0

您可以先浏览官方文档。我还建议您观看此视频。您可能需要使用IdentityServer4,请参阅此播放列表和示例项目的官方 Github 存储库。

于 2021-09-18T17:22:21.293 回答
0

将 Blazor WebAssembly 与身份验证一起使用(如果可能的话)并不是一个好主意:通常,当您编写普通的客户端-服务器应用程序时,客户端会收集用户键入的数据并将其发送到服务器。在服务器中,您可以检查密码是否正确(例如建立与数据库的连接并检查用户名和密码之间的匹配)。

在 Blazor WebAssembly 中,编译所有代码,生成 dll,发送到客户端(使用 Web-Assembly 技术)并在 JavaScript 沙箱中运行。这意味着所有对象都在客户端可用并且用户可以看到,因此也可以读取所有连接字符串。

此外,如果有一些方法可以掩盖它们,实际上它们都不是 100% 安全的。

如果您不需要离线应用程序,我建议您使用 Blazor Server 技术,即使用 SignalR。

但是,如果你真的想在 WebAssembly 中实现身份验证,你可以看看微软的文档

希望这会有用!

于 2020-07-13T16:14:56.300 回答