我正在尝试在特定配置中设置SSO。 我在外部信任中有2个森林(每个森林有一个域) 其中一个域位于DMZ,第二个位于内部Nw。
我的网络应用程序/应用程序服务器位于DMZ中,用户可以在第二个域的内部DC中授予访问权限。
我创建了Web应用程序主机应该调用的服务Principal。我还生成了正确的Keytab。
然后,我将对spring安全文件应用各种配置以集成新的身份验证提供程序。但是当我尝试登录我的webapplication时。我有一个" Windows安全喜欢" auth弹出。当我插入有效的AD用户/通过而不是在我的网络应用程序中验证我时,我转发到我的网络应用程序验证页面。 分析日志文件。我可以看到像
这样的条目GSSException:检测到有缺陷的令牌(机制级别:GSSHeader找不到正确的标签)
org.springframework.security.authentication.BadCredentialsException:Kerberos验证未成功
有什么建议吗?
答案 0 :(得分:0)
如果没有提供任何日志文件,您的设置似乎很明显。您的基于SSPI的客户端无法获取Kerberos服务票证并退回到NTLM(因为服务器告诉他执行SPNEGO)。 Java不处理NTLM。 SPNEGO令牌格式错误,因为它不是一个,它是一个普通的NTLM类型1消息。