Configuración de la seguridad de beans controlados por mensajes que utilizan puertos de escucha
Para proveedores de mensajería no JCA (Java™ EE Connector Architecture), los puertos de escucha proporcionan la asociación entre las fábricas de conexiones, los destinos y los beans controlados por mensajes. En este caso, puede configurar la seguridad de los recursos y los permisos de seguridad para los beans controlados por mensajes al establecer el alias gestionado por contenedor. La información de seguridad del escucha MDB se establece cuando se crea la conexión JMS del escucha MDB.
Antes de empezar
Un puerto de escucha permite a un bean controlado por mensajes asociado con el puerto recuperar mensajes procedentes del destino asociado. Para obtener más información sobre los puertos de escucha, consulte Beans controlados por mensajes: componentes de puerto de escucha.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Acerca de esta tarea
En muchos aspectos, la seguridad de un MDB es idéntica a la de cualquier otro enterprise bean. Por ejemplo, el acceso a los recursos JDBC y a los recursos JCA (como CICS, IMS) se gestiona del mismo modo que para un bean de entidad o de sesión. El acceso a otros recursos JMS también se gestiona del mismo modo que para otros enterprise beans.
Para proteger un MDB que se ha desplegado en un puerto de escucha, puede configurar la autenticación y autorización del servidor para conectar a un proveedor JMS y un destino, de manera que se pueda recuperar un mensaje del destino para que el método onMessage() del MDB lo procese.
Con algunos MDB, el método onMessage() intenta acceder a recursos JMS adicionales después de que se ha realizado la conexión JMS inicial. En este caso, la seguridad se gestiona de forma idéntica a las llamadas de JMS realizadas por un EJB de entidad o de sesión.
- Si se ha definido un alias gestionado por contenedor para esta fábrica de conexiones, el ID de usuario asociado al alias gestionado por contenedor se utiliza en la llamada de creación de conexión, por ejemplo createQueueConnection(idusuario,contraseña).
- Si se ha definido un alias gestionado por componente para esta fábrica de conexiones, se utilizará el ID de usuario asociado al alias gestionado por componente para la llamada de creación de conexión.
- Si no se ha especificado ningún alias y la fábrica de conexiones se ha definido en la
modalidad de enlaces (es decir, TransportType = "BINDINGS" ), se
utilizará la identidad del servidor.
La identidad del servidor se traduce de forma más específica en la identidad de sirvientes en los sirvientes, y la identidad del controlador en el controlador. Por lo tanto, en el caso de un controlador que está a la escucha, la identidad del controlador y la identidad del sirviente son importantes. Si desea más información sobre los controladores que están a la escucha, consulte
Servicio de escucha de mensajes en z/OS.
Para establecer el alias gestionado por contenedor, si elige esta opción, utilice la consola administrativa para completar los pasos siguientes:
Procedimiento
- Visualice los valores del puerto de escucha pulsando .
- Obtenga el nombre de la fábrica de conexiones JMS examinando la propiedad Nombre JNDI de la fábrica de conexiones.
- Visualice las propiedades de la fábrica de conexiones JMS. Por ejemplo, para visualizar las propiedades de una fábrica de conexiones de colas, pulse .
- Establezca la propiedad "Alias de autenticación gestionada por contenedor".
- Pulse Aceptar
Qué hacer a continuación
Invocación de otros EJB
Los mensajes que llegan a un puerto de escucha no tienen credenciales de cliente asociados. Los mensajes son anónimos. Para llamar a enterprise beans seguros desde un bean controlado por mensajes, este bean debe estar configurado con un descriptor de despliegue RunAs Identity. La seguridad depende del rol especificado mediante RunAs Identity para el bean controlado por mensajes como un componente EJB.
Si desea más información sobre la seguridad de EJB, consulte Protección de aplicaciones de enterprise bean. Si desea más información sobre cómo configurar la seguridad para la aplicación, consulte Protección de aplicaciones durante el ensamblaje y despliegue.