我遇到以下问题。我有一个ASP.NET(VB.NET)应用程序尝试使用AWS .NET SDK连接到Amazon Web服务,为此,用户正在输入他们的Access和密钥。然后我将配置密钥添加到如下:
Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration("~")
Dim settings As KeyValueConfigurationCollection = config.AppSettings.Settings
settings("AWSAccessKey").Value = AmazonAccessKeyText.Text
settings("AWSSecretKey").Value = AmazonSecretKeyText.Text
config.Save(ConfigurationSaveMode.Modified)
ConfigurationManager.RefreshSection("appSettings")
虽然这成功修改了web.config文件,但它仍然在运行时抛出异常,说它无法找到Access密钥。谁能告诉我我做错了什么?
答案 0 :(得分:1)
如果我理解正确,您的ASP.NET应用程序代表客户端连接到AWS,那么从安全的角度来看,在本地存储客户端凭据可能是最好的选择。
你可以
amazon sdk不需要存储在app / web.config中的凭据。如果您查看 AWSClientFactory.CreateAmazonS3Client 之类的内容,您会发现可以将它们作为参数传递给此函数
答案 1 :(得分:0)
或许,最好将收到的密钥保存在Application对象中?例如静态。 它更清晰,更简单,并且在修改web.config时不会导致应用程序的回收