0

最近我一直在研究如何从 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>

基于这篇文章:如何在 .net 中以编程方式设置连接字符串配置?,我可以从 web.config 动态更改连接字符串,但是如果我在运行时动态更改连接字符串会有任何负面影响吗?如果我有多个用户(使用不同的帐户或连接字符串)访问系统,是否存在任何“冲突”?你对我可以使用什么方法有什么建议吗?

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

4

1 回答 1

1

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

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

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

于 2013-07-10T08:26:20.843 回答