您需要设置Spring Security Kerberos extension - 这是您在Spring Security 3中完成描述的唯一方法。它支持SPNEGO协商,但需要在服务器上进行一些设置(以及知识SPNEGO和Kerberos如何工作)。
没有太多的文档 - 但Mike 1.0M2的示例应用程序非常棒,涵盖了大多数常见的场景,包括自动化的SPNEGO身份验证。
为SPNEGO的关键是要建立一个自定义的AuthenticationEntryPoint - 你需要有一个自定义的Spring bean要做到这一点,如下所示:
...还有更多的bean会除此之外还需要(同样,请参阅带有Kerberos扩展的样本)。如果您与Spring Security进一步协作或需要确切的详细信息(因为涉及到一些bean/config位,有些配置知识会对您有所帮助,例如您是否使用命名空间样式)。
除了这个选项,你将不得不建立一个类似的SPNEGO身份验证类型(如使用WAFFLE,正如你所建议的) - other SO questions涵盖了这个很好。
最后,您可能会更好地将Tomcat与支持SPNEGO或NTLM的另一个Web服务器(如Microsoft IIS或Apache Web Server)相关联,其中包括mod_spnego。
希望其中的一个想法能为你效劳!