我正在尝试使用Kerberos的Spring Security扩展,以便在Kerberos领域内部署Java Web应用程序,利用集成的Windows身份验证。
我使用提供的Spring Security SPNEGO auth w /基于表单的回退示例。一切看起来都在努力,以至于Web应用程序接收并检查了来自IE的票证,此时它无法验证以下异常:
GSSException:检测到有缺陷的令牌(机制级别:GSSHeader确实如此) 找不到合适的标签)
这是谈判标题:
协商YIGFBgYrBgEFBQKgezB5oDAwLgYKKwYBBAGCNwICCgYJKoZIgvcSAQICBgkqhkiG9xIBAgIGCisGAQQBgjcCAh6iRQRDTlRMTVNTUAABAAAAl7II4g4ADgA1AAAADQANACgAAAAGAvAjAAAAD1NIQVJFUE9JTlQtU1BTSEFSRVBPSU5ULURFVg ==
在使用Java跟踪源代码时,如果找不到'标记,则会出现此错误。结果在标题的开头是0x60(或反引号)。如果我使用ISO-8859-1对它进行base64解码,我可以看到第一个角色看起来像是我的反击,所以我现在卡住了。
运行最新版本的Java 7(在Java 8下我遇到了一个错误,其中' GSSContext srcName'为空 - 似乎是一个已知错误)。
任何关于标题可能非常明显的线索,或者如何进一步解码/调试它都会很棒。
答案 0 :(得分:0)
如果我使用SPN URL,它现在似乎有效。我想我永远无法在Kerberos领域之外访问它或者使用SPN的某些别名,但这与我所阅读的关于它应该如何工作以及为什么它是安全的一切有关。
哦,希望这可以帮助有类似问题的人。