当我在项目上使用 UserSecret 时,会在项目文件中添加一个 UserSecretId 条目。这个 UserSecretId 是一个 GUID,它指向一个不在源代码管理中的本地文件夹,所以我的秘密仍然保密:) 当我提交我的项目文件并且另一个团队成员打开项目时,是一个使用添加的 UserSecretId 创建的文件夹到项目?
当其他用户克隆或检出您的项目时,不会创建用户机密。用户机密的主要用例是创建您不喜欢共享的机密(意味着无法自动共享)。另请参阅此 github 问题
dotnet user-secrets init
dotnet user-secrets set "Movies:ServiceApiKey" "12345"
Run Code Online (Sandbox Code Playgroud)
secrets.json 将在 C:\Users\Dev1\AppData\Roaming\Microsoft\UserSecrets\ 32fb5ba1-4330-43a8-a03b-4868ba51ca11 中创建
dotnet user-secrets init
Run Code Online (Sandbox Code Playgroud)
获取消息:“MSBuild 项目 'C:\Temp\ConsoleApp1\ConsoleApp1 \ConsoleApp1.csproj' 已使用 UserSecretsId 进行初始化。”
dotnet user-secrets set "Movies:ServiceApiKey" "12345"
Run Code Online (Sandbox Code Playgroud)
secrets.json 将在 C:\Users\Dev2\AppData\Roaming\Microsoft\UserSecrets\ 32fb5ba1-4330-43a8-a03b-4868ba51ca11 中创建
因此,两个用户都可以通过相同的 GUID 访问这些机密(所有用户机密都存储在一个文件中),因此项目文件不会有问题。
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UserSecretsId>32fb5ba1-4330-43a8-a03b-4868ba51ca11</UserSecretsId>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |