2

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

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

4

4 回答 4

2

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

或者,如果您的所有用户都将使用单个 SQL 帐户进行连接,那么您可以使用加密将连接字符串放入您的 app.config 文件中,如果您想对您的用户隐藏它,请参阅 cmsjr 的答案以获取有关如何操作的示例去做这个。

或者,如果您在内部域(Int​​ranet)上开发它,则将您的数据库切换到集成安全性并将您的用户域帐户放入数据库服务器上的相关访问组中。这样您就完全不用担心收集用户名或密码了。

于 2009-01-18T12:54:55.973 回答
0

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

于 2009-01-17T15:17:48.807 回答
0

如果最终用户将提供您不需要做任何事情的密码,请不要将用户名/密码保存在配置文件中。如果您不希望最终用户提供密码,您可以在安装时将其放入配置文件中。但是,如果需要更改用户名并且您已经加密了连接字符串,这可能是一个问题。

于 2009-01-17T15:15:18.687 回答
0

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

于 2009-01-18T13:18:06.160 回答