2009-06-24 21 views
5

Estoy usando GSSAPI en Java para iniciar sesión en un servidor LDAP utilizando la autenticación Kerberos. Soy un novato en Kerberos, así que lo siento si esta es una pregunta obvia, pero no pude encontrar nada lo suficientemente claro en Internet.Autenticación de Kerberos en Java: ¿la acción de "inicio de sesión" en java es igual a "kinit"?

que realice los siguientes pasos:

  1. Definir la configuración de sesión mediante el establecimiento de la propiedad del sistema "java.security.auth.login.config" a la ruta del archivo de configuración.
  2. llamada LoginContext.login() con el nombre de la configuración y un controlador de devolución de llamada auto definido
  3. En caso de inicio de sesión tuvo éxito, "pretende ser" el tema (mediante el uso de Subject.doAs()), y conectar con el servidor LDAP mediante la creación de un nuevo InitialLDAPContext con las variables de entorno apropiadas.

Ahora, mi problema es que no entiendo qué paso se correlaciona con qué acción de kerberos? ¿Es correcto decir que después de la acción de inicio de sesión solo tengo un TGT? ¿Cuándo obtengo el ticket específico del servicio?

Gracias, Dikla

Respuesta

7

El com.sun.security.auth.module.Krb5LoginModule clase es la implementación de Sun de un módulo de inicio de sesión para la versión 5 del protocolo Kerberos. Tras la autenticación exitosa, el Ticket Granting Ticket (TGT) se almacena en el conjunto de credenciales privadas del Sujeto y el principal de Kerberos se almacena en el conjunto principal del Sujeto.

(Tomado de here)

Esto significa que LoginContext.login es de hecho igual a kinit en que después de cada uno de ellos, tenemos un TGT.

El ticket de servicio se obtendrá y utilizará más adelante, de acuerdo con la acción realizada en Subject.doAs().

Cuestiones relacionadas