Delegaciones
La delegación es un proceso de propagación de identidad de seguridad desde un emisor a un objeto llamado. Según la especificación Java™ Platform, Enterprise Edition (Java EE), un servlet y enterprise beans pueden propagar la identidad del cliente o de usuario remoto cuando invocan a enterprise beans o pueden utilizar otra identidad especificada como se indica en el descriptor de despliegue correspondiente.
- Delegación (RunAs) de identidad de cliente
- Delegación (RunAs) de identidad especificada
- Delegación (RunAs) de identidad de sistema



La especificación EJB sólo da soporte a la delegación (RunAs) a nivel de EJB (Enterprise JavaBeans). No obstante, una extensión permite la especificación RunAs a nivel de método EJB. Con un nivel de método EJB, la especificación RunAs puede especificar otro rol RunAs para distintos métodos dentro de los mismos enterprise beans.
La especificación RunAs se detalla en el descriptor de despliegue, que es el archivo ejb-jar.xml en el módulo EJB y el archivo web.xml en el módulo web. La extensión de la especificación RunAs se incluye en el archivo ibm-ejb-jar-ext.xml.
Hay disponible un archivo de enlace específico de IBM para cada aplicación que contenga una correlación del rol RunAs con el usuario. Este archivo se especifica en el archivo ibm-application-bnd.xml.

Proceso de delegación
- La tabla de correlación de recursos con roles RunAs
- La tabla de correlación de roles RunAs con ID de usuario y contraseñas
Utilice la tabla de correlación de recursos con roles RunAs para obtener el rol que utiliza un servlet o los enterprise beans para propagarse a la siguiente llamada de enterprise beans.
Utilice la tabla de correlación de roles RunAs con ID de usuario y contraseñas para obtener el ID de usuario que pertenece al rol RunAs y su contraseña.
La delegación se realiza si la autenticación y la autorización han sido satisfactorias. Durante este proceso, el módulo de delegación consulta la tabla de correlación de recursos con roles RunAs para obtener el rol RunAs (3). El módulo de delegación consulta la tabla de correlación de roles RunAs con ID de usuario y contraseñas para obtener el usuario que pertenece al rol RunAs (4). El ID de usuario y la contraseña se utilizan para crear una nueva credencial utilizando el módulo de autenticación, que no aparece en la figura.
La credencial resultante se almacena en
el ORB (Object Request Broker) actual como una credencial de invocación
(5). El servlet y los
enterprise beans, cuando invoquen otros enterprise beans, recogen la credencial de
invocación del ORB actual (6) y llaman a los siguientes enterprise beans (7).