如何将ASP.NET 5(vNext)用户机密注入我自己的实用程序类?
我已经用过了:
user-secret set "AWSAccessKey" "my access key"
和
user-secret set ""AWSSecretKey" "my secret key"
让我的钥匙进入秘密商店。
我有这个课程,我将用它来通过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 { receiverAddress } }, Message = new Message { Subject = new Content(subject), Body = new Body { Text = new Content(body) } } }; var response = client.SendEmail(sendRequest); } } }
为了在MailHelper类中获取这些密钥,我在Startup.cs中放了什么? 需要添加什么到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(Configuration.GetSection("AwsSettings"));
你的邮件程序类需要注入构造函数的设置
using Microsoft.Framework.OptionsModel; public class MailHelper { public MailHelper(IOptions 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展示的结构
现在,设置将从用户机密中加载并注入邮件程序
上述就是C#学习教程:如何将ASP.NET 5(vNext)用户机密注入我自己的实用程序类?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/960185.html