2014-01-17 51 views
0

我正在使用一些移動客戶端升級現有的winform應用程序,並且真的想將SQL放入Azure而不是當前的本地SQL解決方案。然後,我會將app.config文件中的連接字符串更改爲指向Azure。從winforms應用程序到Azure的安全連接字符串SQL

目前我最擔心的是安全問題,因此我想確保連接字符串(通過加密......),以便它不能在app.config文件的本地查看。

有誰知道我應該如何去加密一些或全部的app.config文件來鎖定連接字符串我們的視線。我認爲,自從Azure SQL使用SSL之後,我不需要擔心太多的安全問題,因爲請求實際上是從Winform應用程序創建到Azure的。

任何幫助非常感謝。

Jason。

+0

您可以將您的憑據以加密文件,然後通過讀取文件 – daniel

回答

0

警告:這不是一個保存解決方案!

您可以將您的憑據在一個加密文件,然後通過讀取連接到數據庫,並從該文件解密憑據。

教程文件加密look here

連接到數據庫:

string connectionString = myconnectionstringReadedFromFile; 

// 
// In a using statement, acquire the SqlConnection as a resource. 
// 
using (SqlConnection con = new SqlConnection(myconnectionstringReadedFromFile)) 
{ 
    // 
    // Open the SqlConnection. 
    // 
    con.Open(); 

    //.... your stuff 

} 
+0

連接到數據庫什麼在做加密的密碼/密鑰在WinForm本身的一部分呢?它不安全。 – ramiramilu

+0

你可以混淆它。當然作者應該考慮到代碼可以反編譯。沒有100%安全的解決方案。也許這就夠了 – daniel

2

有SQL Azure的在應用程序的ConnectionString無論是在桌面或移動是沒有意義的。如果您的應用可以解密連接字符串,服務器就會變得脆弱。我能想到的一些其他問題是

  • 更改SQL Server位置會變得有問題,因爲您在每個客戶端配置文件上都有可用的位置。
  • 權限管理必須爲每個想要提供數據庫訪問的用戶完成。

您需要考慮構建一箇中間層,如OData端點或Web API端點,其中涉及像使用ASP.Net這樣的服務器框架。

另請參閱Azure Mobile Services,它可以提供數據庫和服務器組件,以支持標準CRUD操作和其他功能主機。

相關問題