gpt4 book ai didi

unit-testing - 在 Visual Studio 2015 中加密 SQL 单元测试的 ConnectionString

转载 作者:行者123 更新时间:2023-12-03 04:27:11 29 4
gpt4 key购买 nike

我有许多用 Visual Studio 2015 编写的 SQL 单元测试。目前,它们使用 app.config 文件中的静态连接字符串连接到数据库(SQL Azure 数据库)。

如果可能,我希望使用 Azure Key Vault 保护此信息。

我看过诸如this one之类的文章和 this one加密 web.config 文件,但它们似乎更适合 Azure Web 应用程序。

任何人都可以提供一些更适合 SQL 单元测试场景的实现建议,或者确认上述方法适用于我的情况吗?

或者是否有其他解决方案,例如覆盖 TestService 使用的 ExecutionContext?

谢谢。

最佳答案

我不认为在 Key Vault 中存储用于单元测试的 SQL 连接字符串是正确的方法。对于从 Key Vault 检索这些连接字符串的单元测试,it needs a token from Azure AD与 Key Vault 对话。因此,您需要在 Azure AD 中注册一个有权从 Key Vault 检索 secret 的应用程序。

但是,为了让您的应用程序能够作为注册应用程序向 Azure AD 进行身份验证,它需要一个客户端 ID 和一个客户端 key 。此客户端 key 显然无法存储在 Key Vault 中,因此您又回到了原点,需要将 key 存储在 Key Vault 外部。

如果您的单元测试始终在同一台计算机上运行,​​您可以安装客户端证书并使用该证书通过 Azure AD(而不是客户端 key )进行身份验证。但这会使您的单元测试不太可移植。

您可能最好将连接字符串存储在您从源代码控制和 reference 中排除的私有(private)配置文件中。从您的 app.configweb.config 文件中,或在环境变量中读取它们。

关于unit-testing - 在 Visual Studio 2015 中加密 SQL 单元测试的 ConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838127/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com