我正在使用 Windows Server 2018、IIS 10 和我的 Web 应用程序以 .Net Framework 4.5.1 为目标。我的 API 是使用 .Net Core 2.1 和 Visual Studio 2017 构建的。网站和 API 都使用 Windows 身份验证。
我使用此人的教程尝试设置 Kerberos 两跳身份验证(https://blogs.msdn.microsoft.com/surajdixit/2018/02/07/kerberos-configuration-manager-for-internet-information-services-server/)。
我已经采取并尝试过的步骤,
将应用程序池设置为在自定义域帐户下运行。
向域帐户添加了一个 SPN,该 SPN 指向域中的网站 DNS 地址
将应用程序池切换到经典模式
为网站打开 Windows 身份验证和模拟。
让系统管理员授予自定义域帐户委托权限。
我目前面临的问题是,我在 IIS 中对应用程序池和网站进行了所有这些修改,当我尝试连接到网站时,它会提示输入凭据,这不应该发生,因为它应该通过我的身份验证我的 Windows 域帐户,当我输入凭据时,它会再次刷新并提示输入凭据。在本地运行时,一切正常,并且我的 Web 应用程序中的 HttpClient 成功调用了 API。
我已经花了几个小时在这方面,并希望得到任何帮助。我没主意了。