gpt4 book ai didi

c# - 在 ASP.net MVC Web 应用程序中设置 Azure KeyVault

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:03 24 4
gpt4 key购买 nike

我是 Web 开发和 ASP.net 的新手。我正在尝试弄清楚如何实现 Azure KeyVault 以安全地获取 ConnectionStrings 作为我的 Web.Config 文件中的 secret 。我很困惑如何解决这个问题。

我使用以下指南来设置我的基本 CRUD 应用程序: https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application

目前,我正在 Azure 上使用 SQL 数据库,并且我的连接字符串运行良好。一切正常且功能齐全。但是,现在我想从将我的凭据放在连接字符串中,改为将整个连接字符串作为 secret 从 KeyVault 中获取。我找到的所有指南都是关于 ASP.net Core 应用程序的,但我的应用程序是 ASP.net MVC Web 应用程序。有人可以提供有关如何开始的指南吗?

我做的其他事情:1.创建了 ASP.net Core Web 应用程序,这样我就有了 program.cs 文件和 appsettings.json。但是,我不知道如何将两个项目连接在一起以获取连接字符串。

来自 ASP 核心 Web 应用程序的 Program.cs:

namespace KeyVaultTest
{
public class Startup
{
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)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});


services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();

app.UseMvc();
}
}
}

来自 ASP 核心 Web 应用程序的startup.cs:

namespace KeyVaultTest
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
}

最佳答案

我已经为 IHostBuilder 构建了一个扩展(在 Program.cs 中使用)来相应地配置 key 保管库设置,请参阅此处:github

它还考虑环境并在开发环境中使用用户 secret 。

关于c# - 在 ASP.net MVC Web 应用程序中设置 Azure KeyVault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com