很抱歉长标题......
情况如下 - 2台机器:
SQL Server计算机具有本地帐户SpecialUser1
。此帐户在SQL Server本身中用作登录帐户,并具有对数据库的完全访问权限。
IIS计算机具有相同的本地帐户SpecialUser1
。
使用Windows身份验证+ ASP.NET模拟设置Web应用程序,并在SpecialUser1
的标识标记中定义web.config
。
<identity impersonate="true" userName="SpecialUser1" password="SpecialPassword" />
它正在使用对连接字符串中定义的SQL Server的集成安全性访问:
<connectionStrings>
<add name="ConnectionString1"
connectionString="Data Source=SQLSERVER1;Initial Catalog=DB1;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Web应用程序是否能够使用该模拟帐户访问SQL Server的数据库?含义 - 是否映射了这2个相同的帐户以授予对数据库的访问权限?
我依赖于此处的信息:http://msdn.microsoft.com/en-us/library/bsz5788z(v=vs.100).aspx
在这里:http://msdn.microsoft.com/en-us/library/aa292114(v=vs.71).aspx
由于
答案 0 :(得分:0)
我在研究Windows模拟时遇到了你的问题,这在MVC5中有所改变。令我印象深刻的是,如果您只有一个用户访问数据库,那么我认为您真的不需要假冒。您可以将用户名/密码放在连接字符串中。
很明显,你可能还有其他一些事情,你还没有提到这个规则。但是,简单的答案通常是最好的,所以我想我会加上这个。PS。请注意,MVC5中的Windows模拟似乎已经发生了变化。有关详细信息,请参阅此question asp.net论坛。我还在研究如何做到这一点。