ASP.NET Core 用户账密管理
使用ASP.NET Core的用户账密管理功能,可以在开发环境中安全地存储和获取敏感信息,如数据库账户密码。以下是一个简单的示例:
1、首先,确保在ASP.NET Core应用程序项目中安装了Microsoft.Extensions.Configuration.UserSecrets包。如果尚未安装,可以通过NuGet包管理器控制台或Visual Studio的NuGet包管理器进行安装。
打开命令行窗口,并导航到项目的根目录。
运行以下命令初始化用户机密【仅需执行一次】:
bash
dotnet user-secrets init
该命令将生成一个GUID作为用户机密存储的标识符,并将其保存在.csproj文件中。【可能出现生成的guid保存到backup.csproj中 需要手动将其添加到原有csproj文件中并删除backup.csproj】
2、添加用户机密:
bash
dotnet user-secrets set "Database:Password" "your-password" //暂不支持一次添加多组 如果添加多组 直接用bat命令 一行一行添加 bat文件也要放在项目根目录
上述命令将Database:Password键和相应的密码值添加到用户机密存储中。
3、在ASP.NET Core应用程序中读取用户机密:【注】该方法不具有热加载功能
csharp
using Microsoft.Extensions.Configuration;
//...
var configuration = new ConfigurationBuilder()
.AddUserSecrets<Startup>()
.Build();
var password = configuration["Database:Password"];
上述代码片段将读取Database:Password键对应的密码值,并将其存储在password变量中。
上述示例中,"Database:Password"是用户机密存储中的键,你可以根据自己的需求替换为其他键名。
保存的账密:一般在本地 C:\Users\Administrator\AppData\Roaming\Microsoft\UserSecrets\guid\secrets.json(guid为第一步生成所得)