Sicherheit für MDBs mit Listener-Ports konfigurieren
Für Messaging-Provider, die keine JCA-Messaging-Provider (Java™ EE Connector Architecture) sind, erfolgt die Zuordnung zwischen Verbindungsfactorys, Zielen und MDBs über Listener-Ports. In diesem Fall können Sie die Ressourcensicherheit und die Sicherheitsberechtigungen für Message-driven Bean über die Festlegung des containergesteuerten Alias konfigurieren. Die Sicherheitsinformationen des MDB-Listeners werden bei der Erstellung der JMS-Verbindung des MDB-Listeners festgelegt.
Vorbereitende Schritte
Über einen Listener-Port kann eine implementierte MDB, die einem Port zugeordnet ist, Nachrichten vom zugeordneten Ziel abrufen. Weitere Informationen zu Listener-Ports finden Sie im Artikel Message-Driven-Beans - Listener-Komponenten.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Informationen zu diesem Vorgang
Die Sicherheit für eine MDB ist größtenteils identisch mit der Sicherheit anderer Enterprise-Beans. Der Zugriff auf JDBC-Ressourcen und JCA-Ressourcen (z. B. CICS, IMS) wird beispielsweise auf dieselbe Weise behandelt wie bei einer Entität oder einer Session-Bean. Der Zugriff auf andere JMS-Ressourcen wird ebenfalls auf dieselbe Weise wie bei anderen Enterprise-Beans behandelt.
Zum Sichern einer MDB, die in einem Listener-Port implementiert wurde, können Sie die Authentifizierung und Berechtigung für den Server konfigurieren, den Sie mit einem JMS-Provider und einem Ziel verbinden möchten, sodass eine Nachricht für die Verarbeitung durch die MDB-Methode onMessage() vom Ziel abgerufen werden kann.
Bei einigen MDBs versucht die Methode onMessage(), auf weitere JMS-Ressourcen zuzugreifen, nachdem die erste JMS-Verbindung hergestellt wurde. In diesem Fall wird die Sicherheit auf dieselbe Weise gehandhabt wie bei JMS-Aufrufen, die von einer Entität oder Session-EJB abgesetzt werden.
- Wenn ein containergesteuerter Alias für die Verbindungsfactory definiert wurde, wird die dem containergesteuerten Alias zugeordnete Benutzer-ID im Aufruf für die Verbindungserstellung verwendet, z. B. createQueueConnection(userid,password).
- Wenn ein komponentengesteuerter Alias für die Verbindungsfactory definiert wurde, wird die dem komponentengesteuerten Alias zugeordnete Benutzer-ID im Aufruf für die Verbindungserstellung verwendet.
- Wenn kein Alias angegeben und die Verbindungsfactory im Bindungsmodus (d. h. TransportType = "BINDINGS" ) definiert wurde, wird die Serveridentität verwendet.
Die Serveridentität wird in den Servants in die Servant-ID und die Controlleridentität im Controller umgesetzt. Daher ist beim Epmfangscontroller die Controlleridentität ebenso relevant wie die Servantidentität. Zugehörige Informationen zu Empfangscontrollern finden Sie im Artikel
Nachrichtenlistener-Service unter z/OS.
Wenn Sie den containergesteuerten Alias (durch Auswahl dieser Option) definieren möchten, führen Sie in der Administrationskonsole die folgenden Schritte aus:
Vorgehensweise
- Zum Anzeigen der Einstellungen des Listener-Ports klicken Sie auf .
- Sehen Sie sich den JNDI-Namen der Verbindungsfactory an, um den Namen der JMS-Verbindungsfactory zu ermitteln.
- Zeigen Sie die Eigenschaften der JMS-Verbindungsfactory an. Wenn Sie beispielsweise die Eigenschaften einer Warteschlangenverbindungsfactory anzeigen möchten, klicken Sie auf .
- Definieren Sie die Eigenschaft "Containergesteuerter Authentifizierungsalias".
- Klicken Sie auf OK.
Nächste Schritte
Andere EJBs aufrufen
An einem Listener-Port ankommenden Nachrichten ist kein Clientberechtigungsnachweis zugeordnet. Die Nachrichten sind anonym. Wenn eine MDB geschützte Enterprise-Beans aufrufen können soll, muss sie mit einem RunAs-ID-Implementierungsdeskriptor konfiguriert sein. Die Sicherheit hängt von der Rolle ab, die von der RunAs-ID für die MDB als EJB-Komponente angegeben wird.
Weitere Informationen zur EJB-Sicherheit finden Sie im Artikel Enterprise-Bean-Anwendungen sichern. Weitere Informationen zum Konfigurieren der Sicherheit für Ihre Anwendung finden Sie im Artikel Anwendungen während der Assemblierung und Implementierung sichern.