2 つの異なる SQL データベースに接続するコンソール アプリケーションがあります。構成ファイル内で「偽装」タグを使用して、アプリケーションが「APP_USER」としてログインするように強制しています。APP_USER アカウントは Windows 認証を利用し、両方のデータベースで権限が付与されています。
最初の DB 接続は正常に動作しますが、2 番目の接続はアクセス権のないアカウントとしてログインしようとして失敗します。
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>