我们开发了一个在IIS 6.2上运行的WebAPI应用程序。该API使用集成身份验证。因此,操作将在调用API的用户的用户上下文中执行。
除此之外,因为某些操作会对平台中的另一台服务器执行远程操作。我们使用约束委派(kerberos)来管理Kerberos双跃点,并在远程服务器中作为调用API的用户进行验证。
我们在IIS中进行了配置更改(关于启用Windows身份验证),我们已启用"信任此计算机以便委派任何服务(仅限Kerberos)"在AD中运行IIS的服务器。
当前状态是,如果我们使用localhost访问API,一切都按预期工作。但是,如果我们使用FQDN甚至127.0.0.1进行访问,则当API调用在后台执行远程操作返回时,它将失败并且未经授权。
有谁知道我们可以修复这样的配置问题?
由于
答案 0 :(得分:0)
听起来你做的一切都是正确的......除了没有或者没有在AD中正确设置SPN,用于指向目标服务器上运行的Web服务的主体(计算机/服务器对象)。例如,服务器名称为server1,AD和DNS域名为acme.com。然后AD中服务器的SPN需要是HTTP / server1.acme.com。参考:Setting up Kerberos Authentication for a Website in IIS