为Blazor UI应用程序实施防伪验证

问题描述

我们的应用程序是使用Blazor Server和.razor页面构建的,这些页面与Azure API通信。我想知道对于Blazor UI,我们是否应该实施反伪造CSRF / XSRF,如果可以,我是否可以获取一些有关如何实施的信息?

我观察到针对ASP .Net核心MVC应用程序https://exceptionnotfound.net/using-anti-forgery-tokens-in-asp-net-core-razor-pages/实现防伪的帖子,还有博客提到Razor页面认实现防伪验证。

但是对于Blazor来说,想知道遵循的模式是什么?

解决方法

来自Microsoft documentation

Blazor Server应用程序可以跨源访问,除非其他 采取了预防措施。要禁用跨域访问, 通过将CORS中间件添加到端点来禁用端点中的CORS 管道并将DisableCorsAttribute添加到Blazor 端点元数据或通过配置限制所允许的来源集 SignalR用于跨域资源共享。

如果启用了CORS,则可能需要采取其他措施来保护应用程序 取决于CORS配置。如果全局启用了CORS,则CORS 可以通过添加Blazor Server集线器来禁用它 调用后将DisableCorsAttribute元数据转换为端点元数据 端点路由构建器上的MapBlazorHub。