Blazor-将SQL连接类放在共享项目中是否安全

问题描述

我在Server项目中为Blazor应用程序编写了sql连接类,但无法从Client Project中访问它们。

将包含连接字符串的所有sql连接文件放到Shared项目中是否安全?

谢谢

解决方法

如果您将Blazor放在服务器端,那就没问题了。对于Wasm绝对不是。


通常,不要以硬编码字符串的形式在代码中添加任何秘密。如果在开发环境中将appsettings.json与VS的秘密管理器一起使用,则可能会更安全。对于其他环境。我会使用环境变量或密钥管理器/密钥库。

,

如果您使用的是Blazor Server端,则可以安全地将机密信息存储在C#代码中,因为它不会传输到浏览器中,如Blazor documentation中所述:

该应用程序的.NET / C#代码库(包括该应用程序的组件代码)未提供给客户端。

但是,最好将其放在appsettings.json或类似文件中并查找值。

要清楚,如果您使用的是blazor客户端,则永远不要这样做,或在代码中保留任何秘密,因为整个代码库都可以在客户端上读取。

我对客户端没有任何建议,但是this thread中有一些潜在的答案。