Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 从web.config文件动态更改连接字符串的可能影响_C#_Asp.net_Security_Connection String - Fatal编程技术网

C# 从web.config文件动态更改连接字符串的可能影响

C# 从web.config文件动态更改连接字符串的可能影响,c#,asp.net,security,connection-string,C#,Asp.net,Security,Connection String,最近我一直在研究如何从Web.config文件重写/替换ConnectionString。假设我的原始web.config中有一个“虚拟”帐户: <connectionStrings> <add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDDEV;User ID=dummy_account;Password=password;" providerNam

最近我一直在研究如何从Web.config文件重写/替换ConnectionString。假设我的原始web.config中有一个“虚拟”帐户:

<connectionStrings>
    <add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDDEV;User ID=dummy_account;Password=password;"
      providerName="System.Data.OleDB" />
</connectionStrings>

,我可以从web.config动态更改连接字符串,但如果在运行时动态更改连接字符串,是否会产生任何负面影响?如果有多个用户(具有不同帐户或连接字符串)访问系统,是否存在“冲突”?你对我可以使用什么方法有什么建议吗


我必须更改conn字符串的原因是,我实际上没有在数据库中维护密码,而是直接在数据库中使用用户的登录详细信息。提前感谢。

web.config中的连接字符串是应用程序范围的参数。如果您使用您提到的反射技巧为一个用户更改它,那么整个应用程序都会更改它,其他用户也会无意中使用它

如果您的db提供程序支持,您可以尝试将模拟与windows身份验证结合使用。这样,用户将被透明地验证到数据库,而不需要传递密码

您还可以基于web配置中的临时连接字符串对象创建一个新的临时连接字符串对象,但凭据已修改,然后自己使用它创建连接