使用SQL身份验证处理连接字符串

时间:2009-01-17 14:56:57

标签: c# sql string authentication connection

我正在部署使用SQL Server 2005的Windows应用程序。该程序将使用SQL身份验证。

我的问题是,当你不知道用户名/密码是什么时,你如何处理连接字符串?你是从加密文件加载吗?或者是否有处理这个的规定?

4 个答案:

答案 0 :(得分:2)

如果用户会提供他们的登录详细信息(用户名和密码),那么您只需提供在应用中输入这些内容的功能,例如:显示一个询问这些细节的对话框。然后,您可以使用用户提供的值在代码中构建连接字符串。

或者,如果您的所有用户都将使用单个SQL帐户进行连接,那么您可以使用加密将连接字符串放入app.config文件中,如果您想将其隐藏起来,请参阅cmsjr的答案如何做到这一点的例子。

或者,如果您在内部域(Int​​ranet)上进行开发,则将数据库切换到集成安全性,并将用户域帐户放入数据库服务器上的相关访问组。那么您根本不必担心收集用户名或密码。

答案 1 :(得分:0)

如果最终用户提供密码,则无需执行任何操作,请勿在配置文件中保存usernamne / password。 如果您不希望最终用户提供密码,您可以在安装时将其放入配置文件中。但如果需要更改用户名并且已加密连接字符串,则可能会出现问题。

答案 2 :(得分:0)

加密部分配置并不像Windows应用程序那样简单,但它肯定是可行的。这是一个sample.

答案 3 :(得分:0)

请务必检查用户可能输入的“奇怪”字符的用户名/密码。你想要的最后一件事就是让他们改变你的连接字符串。然后基本上你只需指定驱动程序(如果使用ODBC),数据库,服务器,但保留所有用户名/密码和可信连接信息。然后只需添加用户名=和密码=,它将被设置为等于用户在最后输入的内容。但请注意分号。如果同时存在用户名/密码和trusted_connection = true,我从未尝试过看到会发生什么。