从winforms应用程序到Azure SQL的安全连接字符串

时间:2014-01-17 15:13:00

标签: c# sql winforms azure

我正在使用某些移动客户端升级现有的winform应用程序,并且非常希望将SQL放入Azure而不是当前的本地SQL解决方案。然后,我将更改app.config文件中的连接字符串以指向Azure。

目前我最担心的一个问题是安全性,因此我想保护连接字符串(通过加密......),以便无法在app.config文件中本地查看。

有谁知道我应该如何加密部分或全部app.config文件来键入我们看到的连接字符串。我假设因为Azure SQL使用SSL,所以当从winform应用程序实际发出请求到Azure时,我不需要太担心它的安全性。

任何帮助都非常感激。

杰森。

2 个答案:

答案 0 :(得分:2)

在桌面或移动设备上的应用程序中使用SQL Azure连接字符串是没有意义的。服务器变得容易受到攻击,因为任何人都可以解密连接字符串。我能想到的其他一些问题将是

  • 由于每个客户端配置文件上都有可用的位置,因此更改SQL Server位置会出现问题。
  • 必须为要提供数据库访问权限的每个用户进行权限管理。

您需要考虑构建一个中间层,例如OData端点或Web API端点,它涉及使用ASP.Net等服务器框架。

另请参阅Azure Mobile Services,它可以配置数据库和服务器组件,以支持标准CRUD操作和其他功能的主机。

答案 1 :(得分: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

}