我想从存储在我的解决方案的各个项目的配置文件中移动存储和SQL连接字符串,只能在Azure门户中访问。
在源代码控制中保持连接字符串意味着如果任何人看到我们的代码库,他们就可以无限制地访问我们的Azure帐户。
在Azure Web Sites中,连接字符串可以在门户中设置,并在下一次部署时保留。云服务有可能做到同样的事情吗?
不,不可能。云服务是一个虚拟机,它不是一个可以使用连接字符串的应用程序。
如果你有一个持续集成服务器,你可以这样做:在你将应用部署到云服务之前,运行一个脚本,将连接字符串的值更改为你喜欢的值,然后部署它。这样,连接字符串只在您的CI服务器中可见,而在您的代码中不可见。
但是请注意,如果您已经将连接字符串提交到代码库,则无法从历史记录中删除它们。现在Azure密钥库应该可以这样做了。我还没有尝试过——但计划尝试——但这里有一个很好的教程,教你如何开始使用密钥库,然后从web应用程序中使用密钥库。我不确定这对云服务是否完全相同。
这真的太晚了,但是如果您已经将项目部署为web服务,那么安全存储连接字符串的最简单方法是转到:
你的应用服务->配置->连接字符串->新的连接字符串
在这里,添加连接字符串的名称(比如DBConnectionString)和连接字符串的值。这个值应该用您的Web中的名称DBConnectionString替换任何虚拟连接字符串。使用上面添加的值配置文件
你的<<p> strong>网络。config文件应该包含如下所示的内容。这里你可以用任何东西替换SOME DUMMY VALUE
;部署的服务将从azure门户获取连接字符串。本地调试将要求您再次添加连接字符串。
<connectionStrings>
<add name="DBConnectionString"
connectionString="SOME DUMMY VALUE" />
</connectionStrings>