[英]Asp.net core 2.0 Configure.Services<model>() binding isn't working with user secrets
[英].NET Core 2.0 accessing user secrets
我正在嘗試設置.net核心2.0 Web應用程序,以便在用戶注冊時發送電子郵件並恢復密碼。 我已經按照本教程: https : //docs.microsoft.com/en-us/aspnet/core/security/app-secrets?tabs=visual-studio 。
但是,在閱讀評論部分時,似乎沒有為Core 2.0更新教程。 我的問題是,當我開始分享“ 將用戶機密配置源添加到啟動方法 ”時,我無法弄清楚啟動文件應該是什么樣子,因為我的啟動文件與那里顯示的不同。 任何人都可以通過向我展示啟動文件應該是什么樣子來幫助我嗎? 謝謝。
這是我目前的啟動文件:
public class Startup
{
string _testSecret = null;
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
_testSecret = Configuration["MySecret"];
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
config.SignIn.RequireConfirmedEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// Add application services.
services.AddTransient<IEmailSender, EmailSender>();
services.AddMvc();
services.Configure<AuthMessageSenderOptions>(Configuration);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var builder = new ConfigurationBuilder();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
app.UseDatabaseErrorPage();
builder.AddUserSecrets<Startup>();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
在您的代碼中,我沒有找到調用ConfigurationBuilder類的build()函數。 這是示例代碼。
var builder = new ConfigurationBuilder();
builder.AddUserSecrets<Startup>();
var config builder.Build(); //This line is missing from your code
string mySecret = config ['EmailAccount'];
參考: https ://docs.microsoft.com/en-us/aspnet/core/security/app-secrets ? view = aspnetcore-2.1 & tabs = windows#access-a-secret
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.