c# - DataProtectionConfigurationProvider 在我的 Azure 应用服务上不起作用
问题描述
我正在尝试在我的项目的 App.config 文件中加密我的连接字符串数据。我找到了这个主题,解决方案基本上是,我给出我的连接字符串->它加密它->我将给定的加密字符串放入我的 App.config 和 bam。它工作(通常)。
这是加密字符串的样子:
<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd...</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
该解决方案适用于我的本地解决方案,我可以毫无问题地访问我的数据库。但是,当我将项目上传到我的 Azure 应用服务时,无法访问数据库。我确定这是因为加密的数据,但我不知道为什么(数据库连接在没有加密的情况下工作)。
所以如果你有想法,你就是我唯一的希望。我想保持加密简单,我发现了很多其他解决方案,但我发现它们非常复杂,无法使其工作。
提前感谢!
解决方案
Azure 网站和 Web 作业的配置文件加密方法
由于 Azure Web AppService 平台的特殊性,所以无法使用 Azure 平台中 DataProtectionConfigurationProvider 和 RSAProtectedConfigurationProvider 的 C# config 原始加密方法。
仔细阅读文章可以知道,DataProtectionConfigurationProvider不能以Azure web app的传统方式生效。可以参考文章中的解决方案进行处理。
推荐阅读
- javascript - 如何在 for 循环中使用带有 OR 的 if 语句
- amazon-web-services - 带有 KeyCloak 的 AWS Quicksight SSO
- gnome-shell - 无需重新启动即可安装 GNOME Shell 扩展?
- amazon-web-services - AWS Step Function 教程的权限
- google-chrome - 如何在我的站点中启用来自 Google 的此凭据选择器?
- php - 更改 WordPress 循环以显示类别
- flutter - 使用提供程序从底部导航栏项目当前索引将平面按钮导航到另一个屏幕
- javascript - 是什么阻止了我的 javascript click() 函数?
- python - AttributeError: 'Recognizer' 对象没有属性 'listen''
- javascript - Discord.js 消息未定义