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
- 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.
- 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;
}
}
- Compile el paquete con estos archivos y asigne al archivo JAR el nombre sec_sample.jar.
- Vaya al directorio inicio_wxs.
- Cree un directorio denominado security.
- 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>