加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何配置IIS以便在连接到SQL Server时使用用户的域凭

发布时间:2020-12-16 04:09:19 所属栏目:asp.Net 来源:网络整理
导读:我们最近发布了最新版本的Intranet应用程序,它现在使用 Windows身份验证作为标准,并且需要能够使用最终用户的域凭据连接到已配置的SQL服务器. 最近我们发现,在几个客户部署中,尽管IIS可以看到用户的域凭据,但它不会将这些凭据传递给SQL服务器.相反,它似乎使
我们最近发布了最新版本的Intranet应用程序,它现在使用 Windows身份验证作为标准,并且需要能够使用最终用户的域凭据连接到已配置的SQL服务器.

最近我们发现,在几个客户部署中,尽管IIS可以看到用户的域凭据,但它不会将这些凭据传递给SQL服务器.相反,它似乎使用匿名帐户.这是尽管遵循所有正确的步骤(将目录安全性更改为Win Auth,更新Web.Config以使用Win Auth并拒绝匿名用户).

我一直在做很多阅读,这表明我们需要确保Kerberos到位,但我不确定(a)这是多么有效(即它真的是一个要求吗?)或(b)如何去调查它是否已经设置或如何进行设置.

我们的情况是,我们需要能够配置IIS或应用程序为客户工作,或者向客户解释他们需要做些什么才能使其正常工作.

我们已经设法使用测试SQL服务器和开发人员的IIS框在我们的内部网络上重现这一点,所以我们将搞乱这个设置,看看我们是否可以提出解决方案,但如果有人有任何聪明的想法,我很高兴听到他们!

我特别想听听人们对Kerberos的看法或建议.这是一项要求,如果是,我如何向客户概述应如何配置?

哦,我也看到有几个人提到域名的’经典单跳规则’和传递窗口凭据,但我不知道这实际上有多少重量?

谢谢!

马特

解决方法

这称为 Double-Hop Problem,禁止将用户凭证转发给第三方.当他们从一台计算机,另一台(第一跳)上的站点进行浏览,并将凭证转发到第三台计算机(第二跳)时,会发生这种情况.

如果您在同一台计算机上托管IIS和SQL Server,则不会出现此问题.

在How to use the System.DirectoryServices namespace in ASP.NET发布了更多技术细节,解释了双跳问题以及主要和次要令牌.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读