【发布时间】:2015-06-10 09:31:47
【问题描述】:
我目前正在开发一个使用 Windows 身份验证的 ASP.Net / C# / Entity Framework 项目。
我希望我的用户使用自己的 Active Directory 帐户同时访问 IIS Server 和 SQL Server,从而允许管理员查看谁连接到数据库。
但我有一个问题:在连接数据库时,程序使用了在 IIS 服务器中设置的应用程序池的帐户,而不是他的用户帐户。
这是我的web.config 文件:
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<identity impersonate="true"/>
</system.web>
<connectionStrings>
<add name="BOMBuilderEntities"
connectionString="metadata=
res://*/Model.BOMBuilderModel.csdl|
res://*/Model.BOMBuilderModel.ssdl|
res://*/Model.BOMBuilderModel.msl;
provider=System.Data.SqlClient;
provider connection string=
'data source=FRSDSQ01;
initial catalog=BOMBuilder;
integrated security=SSPI;
MultipleActiveResultSets=True;
App=EntityFramework'"
providerName="System.Data.EntityClient"/>
</connectionStrings>
<system.webServer>
<defaultDocument>
<files>
<add value="multipages.aspx" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
另外,我尝试修改此ApplicationPoolIdentity 设置以查看它是否是用于 SQL Server 身份验证的此连接,并且确实如此。如果我设置了域帐户,该帐户将列在活动监视器中。那么如何设置此设置以使用登录我的 asp.net 应用程序的用户帐户?
编辑 1:我添加了模拟设置。
【问题讨论】:
标签: asp.net entity-framework iis sql-server-2008-r2 windows-authentication