ASP.NET 4 中的双跳模拟、协议转换和约束委派

Posted

技术标签:

【中文标题】ASP.NET 4 中的双跳模拟、协议转换和约束委派【英文标题】:Double Hop Impersonation, Protocol Transitioning and Constrained Delegation in ASP.NET 4 【发布时间】:2010-11-10 16:54:27 【问题描述】:

我想以当前访问网站的用户身份使用 IIS 模拟连接到 SQL Server 数据库。这是出于审核和安全原因。

我做了一些阅读并发现由于 SQL Server 位于单独的物理服务器上,我需要为运行 IIS 的服务器启用协议转换和约束委派。这是我找到的文章...http://msdn.microsoft.com/en-us/library/ff649317.aspx

我第一次阅读时并没有意识到,但是这篇文章有以下标题......

停用的内容

此内容已过时,没有 维护时间更长。这是 作为对个人的礼貌提供 谁还在使用这些 技术。此页面可能包含 最初有效的 URL 已发布,但现在链接到网站或 不再存在的页面。

我想知道的是,文章中的信息是否仍然适用,如果我想一直模拟用户到 SQL Server,我是否仍然需要约束委派或者是否以其他方式实现了ASP.NET 4?

【问题讨论】:

您实现了您的期望吗?与 SQL Server 的模拟和可信连接?您的应用是表单身份验证还是 Windows 身份验证? @Aaron Wagner,是的,我设法实现了作为windows原理访问SQL数据库的最终结果。我们的应用程序使用 SqlServer 模拟而不是 IIS 模拟。我们使用单个用户访问数据库,并且该用户执行“EXECUTE AS LOGIN...”SQL 命令来更改数据库上的用户上下文。看到这个link 感谢链接,这是我没有想到的方法。 【参考方案1】:

约束委派是唯一将模拟凭据信息流向第二个主机的方式。 ASP.Net 与它无关,它只是一个使用 Kerberos 框架的普通应用程序。没有改变。一旦 ASP.NEt 应用程序模拟由 IIS 验证的上下文(请参阅Configure ASP.NET Impersonation Authentication),则适用相同的委派规则:

应用程序池帐户必须配置为受约束委派的信任 SQL Server 必须正确注册 SPN

【讨论】:

以上是关于ASP.NET 4 中的双跳模拟、协议转换和约束委派的主要内容,如果未能解决你的问题,请参考以下文章

检查 asp.net mvc 4 应用程序中的 ssl 协议、密码和其他属性

asp.net用多线程上传大文件(500MB~2G)

MVC 5 IIS 7.5 双跳问题(避免硬编码 SQL 密码)

将 DbDataReader 的结果转换为 ASP.NET MVC 4 中的数据库模型,来自使用 ADO.NET 的存储过程 [重复]

ASP.NET Web API将MV响应转换为MVC 4中的json List

ASP.NET 中的 WCF 模拟异常