使用 SPNEGO/Kerberos 和委派的 Tomcat 身份验证
题
是否有一个 apache 模块可以实现供 Tomcat 使用的 Kerberos 身份验证,并且还支持 Kerberos 委派?
我已经查看了 mod_spnego,它丢弃了它创建的 SSPI 上下文,仅保留主体名称。相反,我正在寻找一个允许将发送到 Tomcat 的票证委托的模块 - 也就是说,获取发送的服务票证进行身份验证并使用它在服务器端代表用户访问另一个服务。
编辑:为了澄清这一点,我需要使用 GSS/SSPI 上下文在 Win32 下进行模拟,以便当遗留代码连接到另一台服务器时,将使用委托的凭据。
解决方案
WAFFLE (Windows认证功能框架)现在提供该功能从v1.4beta开始。
它提供了使用本地的Windows API来认证用户ServletFilter中,无论是使用基本或协商身份验证。然后,用户可以被模拟,和本地API调用将与模拟的用户的访问令牌来进行。
其他提示
使用 JAAS 领域和 kerberos 5 JAAS 模块怎么样?
http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JAASRealm
http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html
看起来可能需要一些编码,但这些部分应该在那里。
这里的一个 http://spnego.sourceforge.net/credential_delegation.html 教程。它实现的Kerberos / SPNEGO作为HTTP Servlet过滤器以及支持凭证委托。