在我們開發(fā)dotnet core項目中,難免有一些敏感的信息,例如:數(shù)據(jù)庫連接字符串、加密密鑰、第三方API的key等等。
我們一般常規(guī)的做法是將這些信息在配置文件中,當(dāng)程序需要的時候直接讀取配置文件的信息,但是這樣就帶來個問題,怎么保證這些敏感信息的安全和每個人使用的這些敏感信息都是分配給他的。例如張三只能用a賬號連接B庫,李四只能用C賬號連接D庫。
在dotnet core中,我們可以使用管理用戶機(jī)密工具來管理敏感信息,把敏感信息存放在項目以為的地方。也就是一個serets.json文件中。
首先我們先創(chuàng)建一個dotnet core項目,點擊項目,會看到【管理用戶機(jī)密】:

點擊【管理用戶機(jī)密】會出現(xiàn)一個secrets.json文件,改文件的路徑:

敏感信息可以在這個文件進(jìn)行編輯,例如連接數(shù)據(jù)庫的字符

保存后,會在csproj文件中生成一個UserSecretsId:

需要注意的是當(dāng)secrets.json和appsetting.json有相同的配置信息的時候,程序會先讀取secrets.json的配置信息。
通過這個VS自帶的工具我們就可以很方便的管理項目中的敏感信息。
通用的道理在其它的平臺下,也是這樣操作,不一樣的secrets.json存儲的位置不一樣。