我在控制台应用程序中使用Entity Framework
(EDMX文件)连接到SQL Server
并运行一些存储过程。运行控制台应用程序的最终用户没有运行存储过程所需的权限,因此我需要通过我的应用程序中的web.config来模拟当前用户。该怎么做?
到目前为止,我已经尝试过在我的web.config中模拟当前用户,但这根本不起作用。
这是我的web.config的相关部分:
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true" userName="MyDomain\TheUserThatHasPermissions" password="MyPassword"/>
</system.web>
<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/Model.umModel.csdl|res://*/Model.umModel.ssdl|res://*/Model.umModel.msl;provider=System.Data.SqlClient;provider connection string="data source=abcd,12345\mssqlabcd;initial catalog=abcd;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我希望能够使用此技术连接到SQL
,但是它会忽略我在'identity'标签中提供的模拟用户,它会尝试使用最终用户的身份连接到SQL
帐户。