答案1
我最终发现,我需要允许用户访问 RSAProviderName 才能解密 connectionStrings 块。答案来自此微软博客
“Failed to decrypt using provider ‘RsaProtectedConfigurationProvider’. Error message from the provider: The RSA key container could not be opened
幸运的是,ASPNet_regiis 工具为我们提供了使用 –pa 参数将用户添加到密钥容器的 ACL 的选项。
例如授予 ASPNET 用户访问权限
aspnet_regiis -pa “<key container name>” “ASPNET”
可以<key container name>
在 machine.config 的<configProtectedData>
属性下找到keyContainerName