在将 MVC 5 应用程序放到 Azure 上时,我有过一次非常令人沮丧的经历。我一直在阅读以下页面:http://www.asp.net/identity/overview/features-api/best-practices-for-deploying-passwords-and-other-sensitive-data-to-aspnet-and-azure http://www.asp.net/identity/overview/features-api/best-practices-for-deploying-passwords-and-other-sensitive-data-to-aspnet-and-azure
但我还没能想到的是以下内容:
安全警告:不要将您的 Secrets .config 文件添加到您的项目中或将其签入源代码管理。默认情况下,Visual Studio 将“生成操作”设置为“内容”,这意味着文件已部署。有关详细信息,请参阅为什么项目文件夹中的所有文件都没有得到部署?尽管您可以对机密 .config 文件使用任何扩展名,但最好将其保留为 .config,因为 IIS 不提供配置文件。另请注意,AppSettingsSecrets.config 文件位于 web.config 文件的上两个目录级别,因此它完全位于解决方案目录之外。通过将文件移出解决方案目录,“git add *”不会将其添加到您的存储库中。
And:
安全警告:与 AppSettingsSecrets.config 文件不同,外部连接字符串文件必须与根 web.config 文件位于同一目录中,因此您必须采取预防措施确保您没有将其签入源存储库.
问题如下:当我上传带有外部文件的 Web.config 文件而不包含在内时,我会遇到“系统找不到指定的文件”,因此为了让它消失,我必须包含 .config 文件来击败微软发帖的目的。
我真的真的真的不明白。我已在 Azure 门户中添加了 connectionStrings 和 appSetting 的密钥。是什么正确且安全将我的密码和秘密放在网上的方式?我缺少什么?是因为我在调试模式下运行吗?
根据这个:如何保护 web.config 中存储的密码的安全? https://stackoverflow.com/questions/20908438/how-can-i-secure-passwords-stored-inside-web-config
访问 Web.config 文件无需担心...
但这恰恰违背了微软的立场。
Thanks.
我发现以下技术是实现此目的的最简单方法。
而不是放置部署values将这些设置放入web.config
,我将测试值保留在那里。然后,我通过 Azure 门户将部署值放入 Azure 网站的“应用程序设置”部分:
当网站运行时,这些设置将优先于web.config
。这有助于我避免外部化文件,使我能够保持团队可以共享的健全的开发配置,并使部署变得非常容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)