Puede configurar una configuración JAAS (system.WEB_INBOUND) con un módulo de inicio de sesión personalizado para la configuración de Liberty editando la configuración. No es necesario configurar JAAS a menos que desee personalizarlo.
Antes de empezar
Para obtener una descripción del proceso subyacente de
configuración de un servidor e información detallada sobre determinados
aspectos de la configuración del servidor, consulte
Administración manual de Liberty.
Evite problemas: Las herramientas del desarrollador crean la referencia a un módulo de inicio de sesión de JAAS utilizando el elemento loginModuleRef.
Debe cambiarlo y utilizar el atributo loginModuleRef del elemento jaasLoginContextEntry. Hay varios ejemplos de configuración se seguridad en el sitio web de WASdev.net que sirven de referencia cuando se configura la seguridad para sus aplicaciones en Liberty.
Procedimiento
- Seleccione Entrada de contexto de inicio de sesión de JAAS y pulse Añadir, a continuación, escriba los nombres de módulos de inicio de sesión. En este ejemplo, se añade el módulo de inicio de sesión personalizado myCustom al principio del proceso de inicio de sesión. Los módulos de inicio de sesión proporcionados por el sistema (hashtable, userNameAndPassword, certificate, token) son necesarios.
- Seleccione Módulos de inicio de sesión de JAAS: myCustom y
configure su módulo de inicio de sesión personalizado escribiendo el ID y el Nombre de clase y, a continuación, pulse la flecha junto al botón Añadir y seleccione Elemento global para escribir la información de biblioteca compartida. En este ejemplo, el ID que se corresponde con el nombre del módulo de inicio de sesión personalizado es myCustom.
- Escriba el ID de la biblioteca compartida en la ventana emergente y pulse Aceptar. En este ejemplo, el ID corresponde al nombre de la biblioteca compartida customLoginLib.
- Configure los campos Nombre y Descripción para la biblioteca compartida y, a continuación, pulse la flecha junto al botón Añadir y seleccione Elemento hijo para añadir una referencia del Conjunto de archivos como elemento hijo.
- Configure el Conjunto de archivos. Pulse Examinar en el campo Directorio base y seleccione el directorio donde se halla el archivo
JAR. A continuación, pulse Examinar en el campo Incluye patrón para seleccionar el archivo JAR que contiene la implementación del módulo de inicio de sesión personalizado. En este ejemplo, el archivo JAR de la implementación del módulo de inicio de sesión personalizado es CustomLoginModule.jar y se encuentra bajo el directorio ${server.config.dir}.
- Opcional: Si el módulo de inicio de sesión personalizado necesita cualquier opción, puede pulsar con el botón derecho del ratón Módulo de inicio de sesión JAAS,
seleccionar Añadir y seguidamente Opciones de módulo de inicio de sesión.
- Guarde la configuración. Puede encontrar la siguiente configuración guardada en el archivo server.xml.
<jaasLoginContextEntry name="system.WEB_INBOUND" id="system.WEB_INBOUND">
<loginModuleRef>myCustom, hashtable, userNameAndPassword, certificate, token</loginModuleRef>
</jaasLoginContextEntry>
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Biblioteca compartida de módulo de inicio
de sesión personalizado">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>
- Necesario: Para que funcione la configuración, debe cambiar el elemento jaasLoginContextEntry para que incluya el atributo loginModuleRef. Debe eliminar el elemento loginModuleRef y añadirlo como un atributo del elemento jaasLoginContextEntry.
El siguiente es un ejemplo de configuración utilizando el atributo loginModuleRef.
<jaasLoginContextEntry
name="system.WEB_INBOUND" id="system.WEB_INBOUND"
loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token" />
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Biblioteca compartida de
módulo de inicio de sesión personalizado">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>