如何使用客户端 windows 凭据连接到 Web 中的 SQL 服务器数据库
How to connect to SQL Server database in web using client windows credentials
场景:我不想使用服务器 Windows 凭据连接到数据库,而是想使用此人访问网站所用的 Windows 凭据。
- IIS 托管服务器 IP: : 10.10.10.10
- 从客户端计算机访问的网站:10.10.10.11
我想使用 10.10.10.11 登录用户的凭据来访问数据库。
有什么办法吗?我尝试在 google 中广泛搜索,但没有得到正确的答案。请让我知道如何实现这一点或给我一个线索以完成这项工作。
如果使用 Windows 身份验证,您可以简单地使用 Impersonation 让网络工作进程的当前线程使用客户端的用户凭据
在web.config中:
<configuration>
<system.web>
<identity impersonate="true" />
</system.web>
</configuration>
并通过将此 属性 添加到连接字符串来使 ado.net 连接使用同一用户(假设您使用 SQL 服务器或任何其他支持此选项的 DBMS)
Integrated Security=sspi
将配置更改为
<configuration>
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true" />
</system.web>
</configuration>
然后转到 IIS 服务器 >> 站点 >> 网站 >> 身份验证
Anonymous Authentication >> Disabled
ASP.Net Impersonation >> Enabled
Basic Authentication >> Enabled
Forms Authentication >> Disabled
Windows Authentication >> Disabled
这将生成一个凭据弹出窗口。输入凭据后,它将用于连接到数据库。
场景:我不想使用服务器 Windows 凭据连接到数据库,而是想使用此人访问网站所用的 Windows 凭据。
- IIS 托管服务器 IP: : 10.10.10.10
- 从客户端计算机访问的网站:10.10.10.11
我想使用 10.10.10.11 登录用户的凭据来访问数据库。
有什么办法吗?我尝试在 google 中广泛搜索,但没有得到正确的答案。请让我知道如何实现这一点或给我一个线索以完成这项工作。
如果使用 Windows 身份验证,您可以简单地使用 Impersonation 让网络工作进程的当前线程使用客户端的用户凭据
在web.config中:
<configuration>
<system.web>
<identity impersonate="true" />
</system.web>
</configuration>
并通过将此 属性 添加到连接字符串来使 ado.net 连接使用同一用户(假设您使用 SQL 服务器或任何其他支持此选项的 DBMS)
Integrated Security=sspi
将配置更改为
<configuration>
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true" />
</system.web>
</configuration>
然后转到 IIS 服务器 >> 站点 >> 网站 >> 身份验证
Anonymous Authentication >> Disabled
ASP.Net Impersonation >> Enabled
Basic Authentication >> Enabled
Forms Authentication >> Disabled
Windows Authentication >> Disabled
这将生成一个凭据弹出窗口。输入凭据后,它将用于连接到数据库。