Repositorio de Liberty[8.5.5.6 o posterior]

Configuración de una característica de usuario Java Authentication SPI for Containers (JASPIC)

Puede desarrollar un proveedor JASPIC para autenticar las solicitudes web de entrada utilizando la interfaz com.ibm.wsspi.security.jaspi.ProviderService que se proporciona en el servidor de perfiles Liberty.

Acerca de esta tarea

La especificación Java™ Authentication SPI for Containers, JSR 196, define una interfaz para los proveedores de autenticación. En el servidor de perfiles Liberty, debe empaquetar el proveedor JASPIC como una característica de usuario. La característica debe implementar la interfaz com.ibm.wsspi.security.jaspi.ProviderService.

Procedimiento

  1. Cree un componente OSGi que proporcione un servicio que implemente la interfaz com.ibm.wsspi.security.jaspi.ProviderService.

    La interfaz ProviderService define el método, getAuthConfigProvider, que invoca el tiempo de ejecución del perfil Liberty para recuperar una instancia de la clase de proveedor JASPIC que implementa la interfaz javax.security.auth.message.config.AuthConfigProvider.

    En el ejemplo siguiente, se utilizan anotaciones de servicios declarativos de OSGi:
    @package com.mycompany.jaspi;
    
    import java.util.Map;
    import javax.security.auth.message.config.AuthConfigFactory;
    import javax.security.auth.message.config.AuthConfigProvider;
    import org.osgi.service.component.ComponentContext;
    import com.mycompany.jaspi.SampleAuthConfigProvider;
    import com.ibm.wsspi.security.jaspi.ProviderService;
    
    @Component(service = { ProviderService.class },
               configurationPolicy = ConfigurationPolicy.IGNORE,
               immediate = true,
               property = { "myPoviderPoperty1=value1",
                            "myPoviderPoperty2=value2"})
    public class SampleJaspiProviderService implements ProviderService {
    
        Map<String, String> configProps = null;
    
        // El tiempo de ejecución del perfil Liberty invoca este método
        // para obtener una instancia de AuthConfigProvider
        @Override
        public AuthConfigProvider getAuthConfigProvider(Map<String, String> 
                                                   AuthConfigFactory factory)
       {
            return new SampleAuthConfigProvider(configProps, factory);
       }
    
        protected void activate(ComponentContext cc) {
            // Lea aquí las propiedades de configuración del proveedor, si es necesario,
            // y páselas al ctor de AuthConfigProvider.
            // Este ejemplo lee las propiedades de
            // la definición del componente OSGi.
            configProps = (Map<String, String>) cc.getProperties();
        }
    
        protected void deactivate(ComponentContext cc) {}
    }
  2. Empaquete el componente en un paquete OSGi que forme parte de la característica de usuario, junto con el proveedor de autenticación JASPIC.
  3. Asegúrese de que la característica incluya el contenido del subsistema OSGi: com.ibm.websphere.appserver.jaspic-1.1; type="osgi.subsystem.feature".
  4. Una vez instalada la característica en la ubicación de la extensión del producto de usuario, configure el archivo server.xml con el nombre de la característica. Por ejemplo:
    <featureManager>
       ...
       <feature>usr:myJaspiProvider</feature>
    </featureManager>

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_developing_jaspic_auth_provider
Nombre de archivo:twlp_developing_jaspic_auth_provider.html