Delegierung
"Delegierung" ist die Weitergabe der Sicherheitsidentität eines Prozesses vom Caller zum aufgerufenen Objekt. Gemäß Java™-EE-Spezifikation (Java Platform, Enterprise Edition) können Servlets und Enterprise-Beans beim Aufruf von Enterprise-Beans entweder die Identität des Clients oder die Identität des fernen Benutzers weitergeben oder eine andere angegebene Identität verwenden, die im zugehörigen Implementierungsdeskriptor festgelegt wurde.
- Clientidentität delegieren (RunAs)
- Angegebene Identität delegieren (RunAs)
- Systemidentität delegieren (RunAs)



Die EJB-Spezifikation unterstützt nur die Bevollmächtigung (RunAs) auf EJB-Ebene (JavaBeans). Es gibt jedoch eine Erweiterung, die die RunAs-Spezifikation auf EJB-Methodenebene unterstützt. Mit der RunAs-Spezifikation auf EJB-Methodenebene können Sie jeder Methode in derselben Enterprise-Bean einer anderen RunAs-Rolle zuordnen.
Die RunAs-Spezifikation wird im Implementierungsdeskriptor definiert, d. h. in der Datei ejb-jar.xml im EJB-Modul bzw. der Datei web.xml im Webmodul. Die Erweiterung der RunAs-Spezifikation ist in der Datei ibm-ejb-jar-ext.xml enthalten.
Für jede Anwendung, die eine Zuordnung einer RunAs-Rolle zum Benutzer enthält ist eine IBM-spezifische Bindungsdatei verfügbar. Diese Datei wird in der Datei ibm-application-bnd.xml angegeben.

Delegierungsprozess
- Zuordnungstabelle von Ressourcen zu RunAs-Rollen
- Zuordnungstabelle von RunAs-Rollen zu Benutzer-ID und Kennwort
Die Zuordnungstabelle von Ressourcen zu RunAs-Rollen dient dazu, die Rolle abzurufen, die von einem Servlet oder Enterprise-Beans verwendet wird, um den nächsten Enterprise-Beans-Aufruf weiterzugeben.
Die Zuordnungstabelle von RunAs-Rollen zu Benutzer-ID und Kennwort dient dazu, die Benutzer-ID und das Kennwort abzurufen, die zur RunAs-Rolle gehören.
Delegierung wird nach erfolgreicher Authentifizierung und Berechtigung ausgeführt. Während dieses Prozesses sucht das Delegierungsmodul in der Zuordnungstabelle von Ressourcen zu RunAs-Rollen nach der RunAs-Rolle (3). Das Delegierungsmodul sucht auch in der Zuordnungstabelle von RunAs-Rollen zu Benutzer-ID und Kennwort, um den Benutzer abzurufen, der zur RunAs-Rolle gehört (4). Die Benutzer-ID und Kennwort werden dafür verwendet, mithilfe des Authentifizierungsmoduls (das nicht abgebildet ist) einen neuen Berechtigungsnachweis zu erzeugen.
Der generierte
Berechtigungsnachweis wird im aktuellen ORB-Objekt (Object Request Broker) als Aufrufberechtigung
gespeichert (5). Servlets und Enterprise-Beans verwenden beim Aufruf weiterer Enterprise-Beans den Berechtigungsnachweis für Aufruf
aus dem aktuellen ORB (6)
und rufen dann die nächsten Enterprise-Beans auf (7).