【发布时间】:2022-01-02 16:26:08
【问题描述】:
我有一个 Web 应用 (SPA),其中 React 作为前端,ASP.NET Core 作为后端。使用带有 Windows 身份验证的 SQL Server 2017 localdb 在我的桌面上运行良好。
我想使用带有用户名和密码的 SQL Server 身份验证,因为该应用程序将分布在不同位置的客户端之间,并且我们希望限制用户直接访问数据库以实现我们的业务逻辑。
连接字符串嵌入在datacontext.cs文件中的C#代码中,因此他们可能无法访问他们机器上的数据库数据。
用户应该无法使用 Windows 身份验证(这不是预期的)使用 SQL Server Management Studio (SSMS) 连接到数据库。
在连接字符串中使用 SQL Server 身份验证会导致错误
用户登录失败...
有些朋友建议使用 SQL Server Express 版本和“混合模式”即 SQL Server 和 Windows 身份验证而不是 localdb 来解决问题。
提前感谢您的帮助。
【问题讨论】:
-
连接字符串嵌入在datacontext.cs文件中的c#代码中,这样他们就无法访问他们机器上的数据库数据。嗯,这不安全。任何拥有 .NET Reflector 或 dotPeek 的人都可以毫不费力地看到这一点,或者使用
strings命令的 WSL 用户。 -
嗨@AlwaysLearning 感谢您指出安全漏洞。所以我尝试使用在线注册或其他方法解决。
标签: asp.net sql-server asp.net-core localdb sql-server-2017-express