C# 通过.net winform应用程序连接到sql server
我正在用form1制作一个简单的c#.net winform应用程序,它将连接到sql server 我希望在建立到sql server的连接之前,应用程序要求用户输入登录名和密码进行连接 为此,我应该做什么: 在两个文本框中输入登录名和密码,并将其传递给连接字符串 或 我是否应该将它们传递到app.config文件,然后在form1.cs中使用app.config文件中的字符串 这样可以解决安全问题吗?如果没有,那么执行此任务的其他方法是什么?我会这样做:C# 通过.net winform应用程序连接到sql server,c#,.net,sql,sql-server,sql-server-2005,C#,.net,Sql,Sql Server,Sql Server 2005,我正在用form1制作一个简单的c#.net winform应用程序,它将连接到sql server 我希望在建立到sql server的连接之前,应用程序要求用户输入登录名和密码进行连接 为此,我应该做什么: 在两个文本框中输入登录名和密码,并将其传递给连接字符串 或 我是否应该将它们传递到app.config文件,然后在form1.cs中使用app.config文件中的字符串 这样可以解决安全问题吗?如果没有,那么执行此任务的其他方法是什么?我会这样做: 使用组件 从app.config
- 使用组件
- 从
app.config
- 该组件还具有用户名和密码的两个属性-从提示用户输入此信息的对话框中填充这些属性
- 然后,该SqlConnectionStringBuilder将为您提供用于连接SQL Server的正确连接字符串
<configuration>
<connectionStrings>
<add name="MyConnStr"
connectionString="server=A9;database=MyDB;" />
</connectionStrings>
</configuration>
然后在对话框中从用户处获取用户名和密码,并将其添加到连接字符串生成器:
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();
然后从SqlConnectionStringBuilder
获取生成的完整连接字符串:
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);
string completeConnStr = sqlcsb.ConnectionString;
using(SqlConnection _con = new SqlConnection(completeConnStr))
{
// do whatever you need to do here....
}
将登录名传递给连接字符串。app.Config不是存储用户交互的地方 另一种实现方法可能是使用Windows身份验证在SQL server上进行身份验证。这样,本地Windows用户就可以对数据库拥有某些安全特权,而应用程序的用户就必须输入任何凭据
凭证的用途是什么?它们是用于建立与数据库的连接,还是用于访问应用程序中的用户帐户条目和安全特权?要保护字符串,请使用类。Sql身份验证详细信息始终与应用程序身份验证详细信息分开保存(也有例外……例如:您正在制作自己版本的sql server客户端)
- 将数据库连接详细信息保存在app.config中
- 理想情况下,它应该包含一个启用了应用程序级别限制的用户
- 您提到的登录是C#中存在的身份验证模块。例如:windows身份验证、表单身份验证等