C# 如何使用客户端windows凭据连接到web中的SQL Server数据库

C# 如何使用客户端windows凭据连接到web中的SQL Server数据库,c#,asp.net,ado.net,windows-authentication,C#,Asp.net,Ado.net,Windows Authentication,场景:与使用服务器Windows凭据连接到数据库不同,我希望使用用户访问网站时使用的Windows凭据 IIS托管服务器IP::10.10.10.10 从客户端计算机访问网站:10.10.10.11 我想使用10.10.10.11登录用户的凭据访问数据库 有办法吗?我试着在谷歌上搜索,但没有找到正确的答案。请让我知道如何实现这一点或给我一个线索,以便完成这一点。如果使用Windows身份验证,您只需使用使web工作进程的当前线程使用客户端的用户凭据即可 在web.config中: <c

场景:与使用服务器Windows凭据连接到数据库不同,我希望使用用户访问网站时使用的Windows凭据

  • IIS托管服务器IP::10.10.10.10
  • 从客户端计算机访问网站:10.10.10.11
我想使用10.10.10.11登录用户的凭据访问数据库


有办法吗?我试着在谷歌上搜索,但没有找到正确的答案。请让我知道如何实现这一点或给我一个线索,以便完成这一点。

如果使用Windows身份验证,您只需使用使web工作进程的当前线程使用客户端的用户凭据即可

在web.config中:

<configuration>
  <system.web>
    <identity impersonate="true" />
  </system.web>
</configuration>

将配置更改为

<configuration>
  <system.web>
    <authentication mode="Windows"/>
    <identity impersonate="true" />
  </system.web>
</configuration>

这将生成凭证的弹出窗口。当输入凭据时,它将用于连接到数据库。

我认为您需要设置并使用一些模拟(通过web.config)以及连接字符串修饰符“Integrated Security=true”,但我从未这样做过,因此无法提供具体的指导。也许这给了你很多开始的想法。我认为只有当客户端在同一个域上时,集成的安全性才会起作用
<configuration>
  <system.web>
    <authentication mode="Windows"/>
    <identity impersonate="true" />
  </system.web>
</configuration>
Anonymous Authentication >> Disabled
ASP.Net Impersonation    >> Enabled
Basic Authentication     >> Enabled
Forms Authentication     >> Disabled
Windows Authentication   >> Disabled