2017-07-25 37 views
0

我在dotnet核心中有一個控制檯應用程序。我使用appsettings.Development.josn和appsettings.Staging.json開發和分段環境,但對於使用UserSecrets的生產環境。當應用程序在生產環境中運行時,我遇到了兩個問題:它不會在%Appdata%/ Microsoft中創建UserSecrets,因此我必須手動完成,然後才能開始工作。在生產環境中使用什麼而不是UserSecrets

我的問題的另一部分是這樣的:今天 我發現,微軟寫道:here

祕密管理器工具僅用於發展。您可以使用Microsoft Azure密鑰保管庫配置提供程序來保護Azure測試和生產機密。有關更多信息,請參閱Azure密鑰保管庫配置提供程序。

我沒有Azure。如果我不應該使用UserSecrets,我可以在生產中使用哪些內容。

+5

環境變量 –

+0

我認爲你是對的,我必須使用環境變量。 – Meysam

+0

https://12factor.net/config闡述了爲什麼環境變量是答案 – omajid

回答

1

雖然環境變量是在Web開發中最常用的選項之一,The Twelve Factor App文件states:「環境中的存儲配置」,也有一些原因,這可能不是最好的方法:

  • 的環境對進程隱含可用,並且很難跟蹤訪問。因此,例如,當您的錯誤報告將包含您的祕密時,您可能會面臨情況。

  • 整個環境傳遞給子進程(如果未明確過濾)。因此,您的祕密密鑰可隱式提供給任何可能使用的第三方工具。

這一切都是Vault等產品如今流行起來的原因之一。


所以,是的,你可以使用環境變量,但要注意)

+0

其實這些都是你所做的很好的一點。謝謝 – Meysam

相關問題