我是 Blazor 开发的新手,我可能在这里遗漏了一些明显的东西,但是搜索 google、阅读文档和搜索此网站并没有为我找到答案。
出于安全原因,我需要确保一些代码在服务器端运行(例如散列密码)。我知道 Blazor 通常会自动确定代码的运行位置,但在这种情况下,我能否确保某些函数在客户端运行,而另一些函数在服务器端运行?
Blazor Server 是应用程序模型,其中all代码在服务器上运行,包括 Blazor UI 组件和相关代码。这会被转换为 HTML diff 消息,并通过 SignalR 发送。
Blazor WASM (WebAssembly) 是 Blazor UI 组件下载并在客户端上运行的地方。因此,任何敏感或机密代码不应包含在该项目中。
The selection between the two is initially done when selecting the project type:
如果您有 Blazor WASM 应用程序,那么您可以根据需要决定在服务器上运行某些功能。标准的“ASP.NET Core 托管”示例通过将天气预报服务实现为 Web API 方法来实现此目的(请参阅WeatherForecastController.cs
).
您可以安全地将代码托管在 ASP.NET Core 服务器应用程序中,客户端永远无法访问该代码,除非通过您提供的方法,例如Web API 方法。
任何与安全或验证有关的事情都是一个很好的例子。任何密码哈希代码都应始终位于服务器上,而不是位于客户端上。
希望这有助于解决问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)