使用Windows身份验证的模拟本地帐户访问远程SQL Server数据库

时间:2014-02-24 16:40:53

标签: asp.net sql-server windows authentication

很抱歉长标题......

情况如下 - 2台机器:

  1. IIS 7.5 / App server Windows 2008
  2. SQL Server 2008
  3. 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

    由于

1 个答案:

答案 0 :(得分:0)

我在研究Windows模拟时遇到了你的问题,这在MVC5中有所改变。令我印象深刻的是,如果您只有一个用户访问数据库,那么我认为您真的不需要假冒。您可以将用户名/密码放在连接字符串中。

很明显,你可能还有其他一些事情,你还没有提到这个规则。但是,简单的答案通常是最好的,所以我想我会加上这个。

PS。请注意,MVC5中的Windows模拟似乎已经发生了变化。有关详细信息,请参阅此question asp.net论坛。我还在研究如何做到这一点。