Der Rest des Lernprogramms veranschaulicht, wie die Clientauthentifizierung
aktiviert wird, bevor eine Verbindung zu einem eXtreme-Scale-Server hergestellt wird.
Als Vorbereitung für den nächsten Schritt dieses Lernprogramms müssen Sie das Programm
SecureSimpleApp.java in eine JAR-Datei packen und eine Gruppe von
Konfigurationsdateien erstellen, zu der eine Datei
security.xml und zwei JAAS-Konfigurationsdateien gehören.
Mit der Datei security.xml können Sie die Authentifizierung in der Umgebung schreiben, und die
JAAS-Konfigurationsdateien stellen die Authentifizierungsmechanismen beim
Herstellen der Verbindung zum Server bereit.
Vorgehensweise
- Wechseln Sie in einem Befehlszeilenfenster in das Verzeichnis
WXS-Ausgangsverzeichnis/applib, das Sie in
Lernprogramm zur Java-SE-Sicherheit - Schritt 1 erstellt haben.
- Erstellen und kompilieren Sie die folgende Klasse 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);
}
/**
* Get the ObjectGrid
* @return Eine ObjectGrid-Instanz.
* @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");
// Creates a ClientSecurityConfiguration object using the specified file
ClientSecurityConfiguration clientSC = ClientSecurityConfigurationFactory
.getClientSecurityConfiguration(args[0]);
// Creates a CredentialGenerator using the passed-in user and password.
CredentialGenerator credGen = new UserPasswordCredentialGenerator(args[1], args[2]);
clientSC.setCredentialGenerator(credGen);
// Create an ObjectGrid by connecting to the catalog server
ClientClusterContext ccContext = ogManager.connect("localhost:2809", clientSC, null);
ObjectGrid og = ogManager.getObjectGrid(ccContext, "accounting");
return og;
}
}
- Kompilieren Sie das Paket mit diesen Dateien, und nennen Sie die JAR-Datei
sec_sample.jar.
- Wechseln Sie in das Verzeichnis WXS-Ausgangsverzeichnis.
- Erstellen Sie ein Verzeichnis mit dem Namen security.
- Erstellen Sie eine Konfigurationsdatei mit dem Namen security.xml.
In dieser Datei werden Eigenschaften der Serversicherheit definiert. Diese Eigenschaften
gelten für Katalogserver und Container-Server gleichermaßen.
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>