我们最近发布了最新版本的 Intranet 应用程序,它现在使用 Windows 身份验证作为标准,并且需要能够使用最终用户的域凭据连接到已配置的 SQL 服务器。
最近我们发现,在几个客户部署中,虽然 IIS 可以看到用户的域凭据,但它不会将这些传递给 SQL 服务器。相反,它似乎使用匿名帐户。尽管遵循了所有正确的步骤(将目录安全性更改为 Win Auth,更新 Web.Config 以使用 Win Auth 并拒绝匿名用户),但这仍然存在。
我一直在做很多阅读,表明我们需要确保 Kerberos 就位,但我不确定(a)这有多有效(即它真的是一个要求吗?)或(b)如何去调查它是否已设置或如何设置它。
我们处于这样一种情况,即我们需要能够配置 IIS 或应用程序以供客户使用,或者向客户解释他们需要做什么才能使其正常工作。
我们已经设法在我们的内部网络上使用测试 SQL 服务器和开发人员的 IIS 框重现了这个问题,所以我们要搞砸这个设置,看看我们是否能想出一个解决方案,但如果有人有任何好主意,我很高兴听到它们!
我特别想听听人们对 Kerberos 的想法或建议。这是一项要求吗?如果是,我如何向客户概述它应该如何配置?
哦,我还看到一些人提到域和传递 Windows 凭据的“经典单跳规则”,但我不知道这实际上有多大权重?
谢谢!
马特