DataProtection/WebApp01/Startup.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace WebApp01
{
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using WebApp01.CustomDataProtection;
using WebApp01.Options;
public class Startup
{
public Startup(IConfiguration configuration, IWebHostEnvironment environment)
{
Configuration = configuration;
Environment = environment;
}
public IConfiguration Configuration { get; }
public IWebHostEnvironment Environment { get; }
public void ConfigureServices(IServiceCollection services)
{
if (Environment.IsDevelopment())
{
services.Configure<TestOption>(Configuration.GetSection("TestOption"));
}
else
{
// 注入数据保护需要的Option
services.Configure<ProtectionOption>(Configuration.GetSection("ProtectionOption"));
// 注入数据保护服务(依赖指定证书)
IDataProtector dataProtector = services.AddDataProtectionWithX509();
// 解密字符串
string connStr = dataProtector.Unprotect(Configuration.GetSection("Database:DbConnection").Value);
Console.WriteLine($"Sit:ConnStr:{connStr}");
// 解密Option;Option上带有EncryptedAttribute标记的属性将会被解密
services.ProtectedConfigure<TestOption>(Configuration.GetSection("TestOption"));
}
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
后面还有 6 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
