標籤:1.0 config icon 需要 div adduser nal 避免 manager
昨天在一個整合測試專案中實際使用 ASP.NET Core 的 user secrets 儲存敏感配置資訊,避免了直接儲存在 appsettings.json 中,在這篇隨筆中記錄一下。
使用 user secrets 有兩個有點麻煩的地方,需要手工在 .csproj 中添加兩個配置。
一個是 UserSecretsId
<PropertyGroup> <UserSecretsId>A394A590-FF83-44FD-B056-4D81AC982E63</UserSecretsId></PropertyGroup>
添加時還得自己另外產生guid(在mac或linux可以用uuidgen命令產生guid),要是能通過 dotnet user-secrets 命令添加該多好啊。
一個是 DotNetCliToolReference
<ItemGroup> <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0-msbuild3-final" /></ItemGroup>
添加 User Secrets 配置資料可以使用 dotnet user-secrets 命令:
dotnet user-secrets set appKey 12345dotnet user-secrets set appSecret a6b7c8d9
在 ASP.NET Core 整合測試專案中從 User Secrets 中讀取配置資料的方法如下:
1)安裝 nuget 包 Microsoft.Extensions.Configuration.UserSecrets
2)通過 AddUserSecrets() 擴充方法將 User Secrets 添加到 ConfigurationBuilder 中,並通過 IConfigurationRoot 介面讀取:
var config = new ConfigurationBuilder() .AddUserSecrets($"{userSecretsId}") .Build();_appKey = config["appKey"];_appSecret = config["appSecret"];
使用ASP.NET Core的User Secrets特性