如何使用客户端Windows凭据连接到Web中的SQL Server数据库

时间:2015-12-03 15:30:02

标签: c# asp.net ado.net windows-authentication

场景:我不想使用服务器Windows凭据连接到数据库,而是使用该人员访问网站的Windows凭据。

  • IIS托管服务器IP :: 10.10.10.10
  • 从客户端计算机访问网站:10.10.10.11

我想使用10.10.10.11的登录用户的凭据来访问数据库。

有没有办法做到这一点?我尝试在谷歌广泛搜索,但没有得到正确的答案。请让我知道如何实现这一目标或给我一个领导,以便完成这项工作。

2 个答案:

答案 0 :(得分:0)

如果使用Windows身份验证,您只需使用Impersonation即可完成网络工作流程'当前线程使用客户端的用户凭证

在web.config中:

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

并通过将此属性添加到连接字符串使ado.net连接使用相同的用户(假设您使用SQL Server或支持此选项的任何其他DBMS)

Integrated Security=sspi

答案 1 :(得分:0)

将配置更改为

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

转到IIS服务器&gt;&gt;网站&gt;&gt;网站&GT;&GT;认证

Anonymous Authentication >> Disabled
ASP.Net Impersonation    >> Enabled
Basic Authentication     >> Enabled
Forms Authentication     >> Disabled
Windows Authentication   >> Disabled

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