2008-12-03 20 views
9

¿Hay algún módulo apache que implemente la autenticación Kerberos para que lo use Tomcat y también admita la delegación de Kerberos?Autenticación Tomcat utilizando SPNEGO/Kerberos y delegación

Ya he mirado en mod_spnego y se tira a la basura el contexto SSPI sólo crea manteniendo el nombre principal. En cambio, estoy buscando un módulo que permita la delegación del ticket enviado a Tomcat, es decir, tomar el ticket de servicio enviado para autenticación y usarlo para acceder a otro servicio en nombre del usuario.

EDIT: Para aclarar, tengo que pasar por debajo de Win32 utilizando el contexto GSS/SSPI por lo que cuando el código heredado conecta a otro servidor, se utilizan las credenciales delegadas.

Respuesta

7

WAFFLE (Autenticación de Windows marco funcional) ofrece ahora esa característica a partir de v1.4beta.

Proporciona una ServletFilter que utiliza las API nativas de Windows para autenticar al usuario, ya sea usando Basic o negociación de la autenticación. Luego, se puede suplantar al usuario, y las llamadas de API nativas se realizarán con el token de acceso del usuario suplantado.

+0

Esto es exactamente lo que estaba buscando (aunque el proyecto ya pasó). –

4

¿Y si uso el reino JAAS y el uso de las Kerberos 5 Módulo de 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

parece que podría requerir un poco de codificación, pero las piezas deben estar allí.

+0

Parece que esta es la mitad de lo que necesito con conseguir el contexto Kerberos en Tomcat + modificando mod_spnego por lo que tendría un contexto de seguridad para suplantar al llamar código de Win32. –

+0

He realizado con éxito la autenticación Kerberos/SPNEGO utilizando JRE 6 y Tomcat, implementando mi propio Tomcat Authenticator and Realm. En su caso, esto podría lograrse a través de GSS-API y algunos encabezados enviados al cliente. Entonces ese principal podría usarse para hacer otras operaciones JAAS. –

2

Aquí hay un tutorial http://spnego.sourceforge.net/credential_delegation.html. Implementa Kerberos/SPNEGO como un filtro de servlet HTTP y admite la delegación de credenciales.

+0

Esto se ve muy interesante, pero no parece resolver mi problema. No veo una manera de suplantar (a través de win32) usando el GSSContext. Esto es lo que trato de hacer, pero en lugar de delegar en otro servidor http, necesito delegar sobre sspi. Voy a aclarar la pregunta. –

Cuestiones relacionadas