c# – 如何将ASP.NET 5(vNext)用户机密注入我自己的实用程序类?
发布时间:2020-12-15 18:01:07 所属栏目:百科 来源:网络整理
导读:我已经用过了: user-secret设置“AWSAccessKey”“我的访问密钥”和 用户密码设置“”AWSSecretKey“”我的??密钥“ 让我的钥匙进入秘密商店. 我有这个课程,我将用它来通过Amazon SES发送电子邮件,但我不知道如何将我的密钥插入其中. public class MailHelp
我已经用过了:
user-secret设置“AWSAccessKey”“我的访问密钥”和 用户密码设置“”AWSSecretKey“”我的??密钥“ 让我的钥匙进入秘密商店. 我有这个课程,我将用它来通过Amazon SES发送电子邮件,但我不知道如何将我的密钥插入其中. public class MailHelper { public void SendEmailSes(string senderAddress,string receiverAddress,string subject,string body) { using (var client = new AmazonSimpleEmailServiceClient( new BasicAWSCredentials("[AWSAccessKey]","[AWSSecretKey]"),RegionEndpoint.USEast1)) { var sendRequest = new SendEmailRequest { Source = senderAddress,Destination = new Destination { ToAddresses = new List<string> { receiverAddress } },Message = new Message { Subject = new Content(subject),Body = new Body { Text = new Content(body) } } }; var response = client.SendEmail(sendRequest); } } } 我在Startup.cs中放了什么才能在MailHelper类中获取这些键?需要添加什么到MailHelper类本身? 我已经看到了MVC控制器的一些示例,但我找不到任何尚未实现某些预期接口的自定义实用程序类. 解决方法
适合您的设置的课程:
public class AwsSettings { public string AccessKey { get; set; } = string.Empty; public string AccessSecret{ get; set; } = string.Empty; } 如果您的设置在config.json中,您可以这样做: { "AwsSettings": { "AccessKey": "yourkey","AccessSecret": "yoursecret" } } 在Startup中你需要这个: services.Configure<AwsSettings>(Configuration.GetSection("AwsSettings")); 你的邮件程序类需要注入构造函数的设置 using Microsoft.Framework.OptionsModel; public class MailHelper { public MailHelper(IOptions<AwsSettings> awsOptionsAccessor) { awsSettings = awsOptionsAccessor.Options; } private AwsSettings awsSettings; ... your other methods } UserSecrets只是另一个配置源代码而不是config.json你可以把设置放在那里,但是你需要模拟结构,这样它就可以映射到你的类,所以你用冒号设置它们: user-secret set "AwsSettings:AccessKey" "my access key" and user-secret set "AwsSettings:AccessSecret" "my secret key" 这相当于我为config.json展示的结构 现在,设置将从用户机密中加载并注入邮件程序 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |