如果客户端和服务器在同一台计算机上,则无法使用Kerberos进行身份validation
我有一个支持Kerberos身份validation的Tomcat webapp。 它工作正常,我可以login到该应用程序,如果我使用像LOCAL SYSTEM或networking服务的内置帐户,但我有问题为Tomcat服务设置一个非默认域帐户。 我已经注册了必要的SPN: C:\Users\Administrator>setspn -l tomcatuser1 Registered ServicePrincipalNames for CN=tomcatuser1,CN=Users,DC=blah,DC=com: HTTP/Unicorn.blah.com HTTP/Unicorn 之后,我可以从域中的其他机器login,但不能从运行Tomcat服务的机器login。 如果我使用IP地址,我没有任何问题。 我也检查,我没有遇到回环问题,但似乎并没有影响任何东西。 因此,当我要求使用主机名称的网页时,我得到401响应。 从日志中我发现协商是在多个步骤中进行的,最后一步是服务器说我提供的授权令牌是无效的。 实际的错误信息是“指定的句柄无效”对应的SEC_E_INVALID_HANDLE窗口错误。 它可能与Kerberos安装有关,还是networking问题?