我有一个连接到两个不同 SQL 数据库的控制台应用程序。我在配置文件中使用“模拟”标签来强制应用程序以“APP_USER”身份登录。APP_USER 帐户使用 Windows 身份验证并已在两个数据库中授予权限。
第一个数据库连接工作正常,但第二个数据库连接失败,因为它试图以我没有访问权限的帐户登录。
System.Data.SqlClient.SqlException: Login failed for user 'DOMAIN\CURRENT_USER'.
我需要在配置中进行哪些更改才能使应用程序以另一个用户身份登录到两个数据库?
<configuration>
<connectionStrings>
<add name="Connection1" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=DB1;initial catalog=DBcat1;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="Connection2" connectionString="metadata=res://*/Models.Model2.csdl|res://*/Models.Model2.ssdl|res://*/Models.Model2.msl;provider=System.Data.SqlClient;provider connection string="data source=DB2;initial catalog=DBcat2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.web>
<identity impersonate="true" userName="DOMAIN\APP_USER" password="password"/>
</system.web>
</configuration>