Guía de aprendizaje de seguridad de Java SE - Paso 3

En la parte restante de esta guía de aprendizaje se muestra cómo habilitar la autenticación de cliente antes de conectarse a un servidor eXtreme Scale. Para prepararse para el siguiente paso de esta guía de aprendizaje, debe empaquetar el programa SecureSimpleApp.java en un archivo JAR y crear un conjunto de archivos de configuración, que incluirán un archivo security.xml, y dos archivos de configuración JAAS. El archivo security.xml le permite grabar la autenticación en el entorno, y los archivos de configuración JAAS proporcionan el mecanismo de autenticación durante la conexión al servidor.

Procedimiento

  1. En una ventana de línea de mandatos, vaya al directorio inicio_wxs/applib que ha creado en Guía de aprendizaje de seguridad Java SE - Paso 1.
  2. Cree y compile la siguiente clase SecureSimpleApp.java:
    SecureSimpleApp.java
    package com.ibm.websphere.objectgrid.security.sample.guide;
    
    import com.ibm.websphere.objectgrid.ClientClusterContext;
    import com.ibm.websphere.objectgrid.ObjectGrid;
    import com.ibm.websphere.objectgrid.ObjectGridManager;
    import com.ibm.websphere.objectgrid.ObjectGridManagerFactory;
    import com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration;
    import com.ibm.websphere.objectgrid.security.config.ClientSecurityConfigurationFactory;
    import com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator;
    import com.ibm.websphere.objectgrid.security.plugins.builtins.UserPasswordCredentialGenerator;
    
    public class SecureSimpleApp extends SimpleApp {
    
        public static void main(String[] args) throws Exception {
    
            SecureSimpleApp app = new SecureSimpleApp();
            app.run(args);
        }
    
        /**
         * Obtener ObjectGrid
         * @return una instancia de ObjectGrid
         * @throws Exception
         */
        protected ObjectGrid getObjectGrid(String[] args) throws Exception {
            ObjectGridManager ogManager = ObjectGridManagerFactory.getObjectGridManager();
            ogManager.setTraceFileName("logs/client.log");
            ogManager.setTraceSpecification("ObjectGrid*=all=enabled:ORBRas=all=enabled");
    
            // Crear un objeto ClientSecurityConfiguration utilizando el archivo especificado
            ClientSecurityConfiguration clientSC = ClientSecurityConfigurationFactory
                    .getClientSecurityConfiguration(args[0]);
            
            // Crear un CredentialGenerator utilizando el usuario y la contraseña pasados.
            CredentialGenerator credGen = new UserPasswordCredentialGenerator(args[1], args[2]);
            clientSC.setCredentialGenerator(credGen);
            
            // Crear un ObjectGrid conectándose al servidor de catálogo.
            ClientClusterContext ccContext = ogManager.connect("localhost:2809", clientSC, null);
            ObjectGrid og = ogManager.getObjectGrid(ccContext, "accounting");
    
            return og;
    
        }
    
    }
  3. Compile el paquete con estos archivos y asigne al archivo JAR el nombre sec_sample.jar.
  4. Vaya al directorio inicio_wxs.
  5. Cree un directorio denominado security.
  6. Cree un archivo de configuración denominado security.xml. En este archivo se especifican las propiedades de seguridad del servidor. Estas propiedades son comunes para los servidores de catálogo y los servidores de contenedor.
    security.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
    	xmlns="http://ibm.com/ws/objectgrid/config/security">
    
    	<security securityEnabled="true" loginSessionExpirationTime="300" >
            
            <authenticator className ="com.ibm.websphere.objectgrid.security.plugins.builtins.
             KeyStoreLoginAuthenticator">
            </authenticator>
        </security>
    	
    </securityConfig>