Anforderungsvalidatoren hinzufügen
Das zugrunde liegende UI-Framework ermöglicht Ihnen, mehrere Validierungen für eine Anforderung einzurichten.
Informationen zu diesem Vorgang
Bei diesem Prüfprozess muss sich der Benutzer nach seiner Erstanmeldung erneut authentifizieren. Danach kann dieser Benutzer die Anmeldesitzung fortzusetzen.
Weitere Informationen finden Sie in der Dokumentation zur Java™ -API in Ihrem Installationsverzeichnis (<INSTALLATIONSVERZEICHNIS> /xapidocs/core_javadocs).
Vorgehensweise
- Installieren Sie die Anwendung mit der Standardimplementierung des zugrunde liegenden UI-Frameworks.
- Erstellen Sie Ihre Implementierung mehrerer Validierungen, die Sie in das zugrunde liegende UI-Framework integrieren werden. Das zugrunde liegende Benutzerschnittstellenframework verfügt nicht über eine Standardimplementierung mehrerer Validierungen. Wird keine Implementierung bereitgestellt, wird die Anforderung nach der ersten Authentifizierung nicht weiter überprüft.
Die Gültigkeitsprüfung wird für jede Anforderung vorgenommen. Daher muss diese Funktion Ihren Anforderungen entsprechend optimiert werden. Für die Implementierung der Anforderungsvalidatoren muss der in ISCUIRequestValidator definierte Schnittstellenvertrag verwendet werden.
- Über die Prüfmethode des Anforderungsvalidators wird die SCUISecurityResponse-Klasse zurückgegeben. Schlägt die Gültigkeitsprüfung fehl, wird die Anforderung an die in der SCUISecurityResponse-Klasse angegebene URL umgeleitet. Denken Sie auch an Einstellungen für Rückgabestatus, Ausnahmen und Fehlernachrichten. Diese Informationen werden von der ISCUIRequestValidator-Prüfmethode im Webbenutzerschnittstellen-Framework verwendet.Über die ISCUIRequestValidator-Schnittstelle wird definiert, was das Webbenutzerschnittstellen-Framework bei jeder Implementierung einer Anforderungsprüfung erwartet. Diese Schnittstelle verwendet folgende Methoden:
- validieren
Ruft SCUIContext ab. Antwort ist ein SCUISecurityResponse-Objekt, das den Rückgabestatus, die URL der Seite, Ausnahme und Fehlernachricht enthält. Mit dieser Methode wird die Geschäftslogik ausgeführt, die für die Anwendung erforderlich ist.
- init
Führt die Initialisierung aus.
- sessionDestroyed
Schließt alle geöffneten sitzungsspezifischen Handles. ISCUIValidator erweitert die ISCUISessionAware-Schnittstelle, eine Markierungsschnittstelle, mit der sich ISCUIValidator leichter bei der HttpSessionListener-Implementierungsklasse registrieren kann. Wird die Sitzung inaktiviert oder gelöscht, wird die sessionDestroyed-Methode vom Listener aufgerufen, um die bei der Initialisierung geöffneten sitzungsspezifischen Handles zu schließen.
Nachstehend ein Beispiel für eine ISCUIRequestValidator-Schnittstelle:
public interface ISCUIRequestValidator extends ISCUISessionAware { public SCUISecurityResponse validate(SCUIContext uiContext); public void init(); public void sessionDestroyed(); }Die Anforderungsprüfung besteht aus einer oder mehreren RequestValidator-Instanzen, mit denen die ISCUIRequestValidator-Schnittstellenklasse implementiert wird. Es können zwar mehrere Anforderungsvalidatoren festgelegt werden, doch ist deren Reihenfolge nicht garantiert. RequestValidator wird über den Kontextparameter in der Datei web.xml integriert, wie aus dem folgenden Beispiel hervorgeht:
<context-param> <param-name>scui-request-validator1</param-name> <param-value>com.app.MyURLValidator</param-value> </context-param> <context-param> <param-name>scui-request-validator2</param-name> <param-value>com.app.MyAdminValidator</param-value> </context-param>Alle Implementierungen von Gültigkeitsprüfungen oder Validatoren, die als Kontextparameter in der Datei web.xml angegeben sind, werden (in keiner bestimmten Reihenfolge) für eine zusätzliche Gültigkeitsprüfung aufgerufen.
- validieren
- Zum Implementieren des angepassten Java-Code erstellen Sie eine JAR-Datei, die die Java-Klasse enthält, und installieren Sie anschließend die JAR-Datei mit dem Script install3rdparty.sh . Zum Implementieren dieser Anpassung erstellen Sie die EAR- oder WAR-Datei erneut wie beim Installationsvorgang und stellen dann die Anwendung auf dem Anwendungsserver bereit.