Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SQL身份验证处理连接字符串_C#_Sql_String_Authentication_Connection - Fatal编程技术网

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

C# 使用SQL身份验证处理连接字符串,c#,sql,string,authentication,connection,C#,Sql,String,Authentication,Connection,我正在部署一个使用SQL Server 2005的Windows应用程序。该程序将使用SQL身份验证 我的问题是,当您不知道用户名/密码是什么时,如何处理连接字符串?你是从加密文件加载的吗?或者已经有处理此问题的规定了吗?如果最终用户将提供您不需要执行任何操作的密码,请不要在配置文件中保存用户名/密码。 如果不希望最终用户提供密码,可以在安装时将其放入配置文件中。但是,如果需要更改用户名,并且您已加密了连接字符串,则可能会出现问题。对配置的各个部分进行加密对于windows应用程序来说并不像对w

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


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

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

对配置的各个部分进行加密对于windows应用程序来说并不像对web应用程序那样简单,但它确实是可行的。这里有一个

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

或者,如果您的所有用户都将使用一个SQL帐户进行连接,那么您可以使用加密将连接字符串放入app.config文件中,如果您想对用户隐藏该字符串,请参阅cmsjr的答案,以了解如何执行此操作的示例


或者,如果您在内部域(intranet)上开发此应用程序,请将数据库切换到集成安全,并将用户域帐户放入数据库服务器上的相关访问组中。这样你就不必担心收集用户名或密码了。

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