Visión general técnica de Sun Java Enterprise System 2005Q4

Autenticación e inicio de sesión único

Los servicios de autorización y de autenticación de Java ES los proporciona Access Manager. Access Manager usa la información de Directory Server para actuar como intermediario en la interacción de los usuarios con los servicios web de Java ES u otros servicios basados en web de una empresa.

Access Manager también utiliza un componente externo denominado "agente de directivas". El agente de directivas se conecta al servidor web que alberga un servicio o recurso asegurado por Access Manager. El agente de directivas intercede en nombre de Access Manager en solicitudes que realizan los usuarios a los recursos asegurados. Para algunos componentes de Java ES como, por ejemplo, Portal Server y Communications Express, el funcionamiento del agente de directivas lo proporciona el subcomponente Access Manager (consulte Sun Java System Access Manager 7 2005Q4).

Autenticación

Access Manager incluye un servicio de autenticación para comprobar las identidades de los usuarios que solicitan acceso (mediante HTTP o HTTPS) a servicios web dentro de una empresa. Por ejemplo, un empleado de una empresa que necesita buscar el número de teléfono de un compañero utiliza un explorador para ir a la libreta de teléfonos en línea de la empresa. Para iniciar la sesión en el servicio de libreta de teléfonos, el usuario debe proporcionar un Id. de usuario y una contraseña.

La secuencia de autenticación es la que se muestra en la Figura 3–2. Un agente de directivas intercede en la solicitud para acceder a la libreta de teléfonos (1) y envía la solicitud al servicio de autenticación (2). El servicio de autenticación comprueba el Id. de usuario y la contraseña con la información almacenada en Directory Server (3). Si la solicitud de inicio de sesión es válida, el usuario se autentica (4), (5) y (6), y podrá consultar la libreta de teléfonos de la empresa (7). Si la solicitud de inicio de sesión no es válida, se generará un error y el usuario no podrá autenticarse.

El servicio de autenticación también admite la autenticación basada en certificados sobre HTTPS.

Figura 3–2 Secuencia de autenticación

Diagrama que muestra la secuencia de autenticación, que incluye el explorador web, el agente de directivas, el servicio de autenticación, el servicio de sesiones y Directory Server.

Inicio de sesión único

El escenario de autenticación descrito en los párrafos anteriores, pasa por alto un paso importante. Cuando se comprueba la solicitud de autenticación de un usuario, el servicio de sesiones de Access Manager se activa (4), tal y como se muestra en la Figura 3–2. El servicio de sesiones genera un testigo de sesión, que contiene la información sobre la identidad del usuario y un Id. de testigo (5). El testigo de la sesión se devuelve al agente de políticas (6) que lo envía (como una cookie) al explorador (7) desde el que se ha realizado la solicitud de autenticación.

Cuando el usuario autenticado intenta acceder a otro servicio asegurado, el explorador pasa el testigo de sesión al agente de políticas correspondiente. El agente de directivas comprueba con el servicio de sesión que la autenticación anterior del usuario aún es válida, permitiendo que el usuario acceda al segundo servicio sin necesidad de escribir el Id. de usuario y la contraseña de nuevo.

Por lo tanto, un usuario sólo necesita iniciar sesión una vez para autenticarse en los distintos servicios basados en web que ofrece Java Enterprise System. La autenticación mediante el inicio de sesión único sigue en efecto hasta que el usuario cierre la sesión explícitamente o cuando ésta caduque.