2017-07-25 43 views
0

目前我有一個C#控制檯應用程序,它使用實體框架6連接到SQL數據庫。我有數據庫憑據(用戶名,密碼,DBName等)在app.config文件中作爲一個連接字符串。我知道這是一個安全漏洞,所以我希望能夠將數據庫憑據作爲用戶輸入。然後,我想使用用戶輸入的內容連接到數據庫。有沒有辦法將參數傳遞到app.config?如果不是,那麼完成這個目標的最好方法是什麼?謝謝!實體框架6-用戶輸入數據庫憑證

+0

無論何時創建新帳戶,您都可能在數據庫上創建用戶,然後以只讀模式將該用戶用作數據庫的登錄用戶。但是,這需要您從一個全局登錄名添加/刪除數據庫中的用戶。 –

+0

我不認爲這完成了我想要的。我不相信有沒有辦法讓用戶提供數據庫憑證。是否每個人都將他們的數據庫憑證硬編碼到他們的配置文件中? – user3440081

+0

有很多方法可以做到這一點。但事情是,我們不是魔術師......如果你想讓我們列出你所有可能的方法,那麼你應該去問谷歌。嘗試一下,發佈你正在發佈的代碼,然後有人會幫助你。 –

回答

1

如果在連接字符串中保護密碼是一個問題,您可以考慮加密app.config中的connectionstrings部分。有幾種方法,但使用aspnet_regiis實用程序是最簡單的。有些例子參見here

如果您想避免在app.config中存儲密碼,您應該使用運行時提供的輸入構建代碼中的連接字符串。 @ fuchs777評論中提到的SO帖子解釋瞭如何做到這一點。