首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过.net winform应用程序连接到sql server

通过.net winform应用程序连接到sql server
EN

Stack Overflow用户
提问于 2011-03-01 15:44:57
回答 5查看 4K关注 0票数 3

我正在制作一个简单的带有form1的c#.net winform应用程序,它将连接到sql server。

我希望在建立到sql server的连接之前,应用程序要求用户输入登录名和密码以进行连接。

为此,我应该做什么:

在两个文本框中输入登录名和密码,并将它们传递给连接字符串,或者我应该将它们传递给app.config文件,然后在form1.cs中使用app.config文件中的字符串?

这样做可以解决安全问题吗?如果不是,那么实现这项任务的其他方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-01 15:47:59

我会这样做:

SQL component

  • define使用app.config

  • that组件中的服务器名称、数据库名称等内容还有两个用于用户名和密码的属性:在提示用户输入此information

  • that SqlConnectionStringBuilder的对话框中填写这两个属性,然后提供用于连接到您的SQL

更新:

我的建议是像这样存储基本连接字符串:

代码语言:javascript
运行
复制
<configuration>
  <connectionStrings>
     <add name="MyConnStr" 
          connectionString="server=A9;database=MyDB;" />
  </connectionStrings>
</configuration>

然后加载这个“骨架”连接字符串(这是不完整的--单靠它是行不通的!)进入你的SqlConnectionStringBuilder

代码语言:javascript
运行
复制
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;

SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);

然后在对话框中从用户那里获取用户名和密码,并将其添加到连接字符串构建器中:

代码语言:javascript
运行
复制
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();

然后从SqlConnectionStringBuilder获取得到的完整的连接字符串

代码语言:javascript
运行
复制
string completeConnStr = sqlcsb.ConnectionString;

using(SqlConnection _con = new SqlConnection(completeConnStr))
{
   // do whatever you need to do here....
}
票数 5
EN

Stack Overflow用户

发布于 2011-03-01 15:48:39

将登录名传递给连接字符串。app.Config不是存储用户交互的地方。

票数 1
EN

Stack Overflow用户

发布于 2011-03-01 15:51:36

实现它的另一种方法可能是在SQL服务器上使用Windows身份验证进行身份验证。这样,本地Windows用户就可以对数据库拥有一定的安全特权,而应用程序的用户就不一定需要输入任何凭据。

凭证是用来做什么的?它们是用于建立与数据库的连接,还是用于访问应用程序中的用户帐户条目和安全权限?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5151733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档