Configuración de un módulo de inicio de sesión personalizado JAAS para Liberty

Puede configurar un módulo de inicio de sesión JAAS (Java™ Authentication and Authorization Service) personalizado antes o después de haber configurado el módulo de inicio de sesión del servidor de Liberty.

Antes de empezar

Soportamos el archivo server.xml, el archivo client.xml y el archivo de configuración de JAAS para la configuración de JAAS. Sin embargo, se sugiere configurar el módulo de inicio de sesión personalizado de JAAS en el archivo server.xml o el archivo client.xml. Para obtener más detalles sobre cómo configurar el archivo de configuración de JAAS, consulte Configuración de un módulo de inicio de sesión y entrada de contexto de inicio de sesión personalizado de JAAS de aplicación utilizando un archivo de configuración de JAAS para Liberty.

Asegúrese de que tiene un archivo JAR que contiene el módulo de inicio de sesión personalizado JAAS, que implementa la interfaz javax.security.auth.spi.LoginModule como se describe en Desarrollo de módulos de inicio de sesión personalizados JAAS para una configuración de inicio de sesión en el sistema. En este tema, el módulo de inicio de sesión personalizado JAAS utiliza la tabla hash, devoluciones de llamada o variables de estado compartidas proporcionadas por el servidor de Liberty para pasar los datos de autenticación al módulo de inicio de sesión del sistema.

Acerca de esta tarea

Puede utilizar un módulo de inicio de sesión personalizado para tomar decisiones de autenticación adicionales o añadir información al sujeto para tomar decisiones de autorización más precisas en la aplicación. Para obtener una visión general más detallada, consulte Configuración JAAS y Módulos de inicio de sesión de JAAS.

Para configurar un módulo de inicio de sesión personalizado JAAS, complete los pasos siguientes:

Procedimiento

  1. Habilite la característica appSecurity-2.0 Liberty en el archivo server.xml.
    <featureManager>
        <feature>appSecurity-2.0</feature>
    </featureManager>
  2. Cree una clase com.sample.CustomLoginModule que implemente la interfaz LoginModule y empaquétela en el archivo CustomLoginModule.jar.
  3. Cree un elemento <library> que utilice un elemento <fileset> indicando dónde está el archivo CustomLoginModule.jar. En este ejemplo el id de la biblioteca es customLoginLib.
    <library id="customLoginLib">
        <fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
    </library> 
  4. Cree un elemento <jaasLoginModule>. En este ejemplo, el id es custom.
    1. Configure el módulo de inicio de sesión personalizado para requiera una autenticación correcta estableciendo el atributo controlFlag en REQUIRED.
    2. Establezca el atributo libraryRef en customLoginLib, el id del elemento <library> configurado en el paso anterior. Este módulo de inicio de sesión también tiene dos opciones: UserRegistry es ldap y mapToUser es user1.
    <jaasLoginModule id="myCustom" 
                     className="com.sample.CustomLoginModule" 
                     controlFlag="REQUIRED" libraryRef="customLoginLib">
        <options myOption1="value1" myOption2="value2"/>
    </jaasLoginModule>
  5. Cree un elemento <jaasLogincontextEntry> con un id y un name exclusivo de la configuración JAAS definida por el sistema: system.WEB_INBOUND. También puede establecer esta configuración JAAS en system.DEFAULT, WSLogin o su propia configuración JAAS. En el atributo loginModuleRef , añada custom, el id del elemento jaasLoginModule creado en el paso anterior. Colocar este id en el primer lugar de la lista significa que es la primera vez que se llama al módulo de inicio de sesión JAAS. Debe también listar los otros módulos de inicio de sesión predeterminados: hash, userNameAndPassword, certificate y token.
    <jaasLoginContextEntry id="system.WEB_INBOUND" name="system.WEB_INBOUND" 
                     loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token"  />
    Nota: El nombre de opción no puede comenzar por un punto (.), config. o service y debe ser exclusivo. Además, el nombre de propiedad id o ID no está permitido.

    Para obtener más información sobre los elementos <jaasLoginContextEntry>, <jaasLoginModule>, <options> y <library>, consulte Application Security 2.0.


Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_sec_jaas.html