Unterstützung des Trust Association Interceptor für die Subjekterstellung
Der Trust Association Interceptor (TAI) "com.ibm.wsspi.security.tai.TrustAssociationInterceptor" unterstützt mehrere Features, die sich von der bestehenden Schnittstelle "com.ibm.websphere.security.TrustAssociationInterceptor" unterscheiden.
- Name der Schlüsselmethode
- public boolean isTargetInterceptor (HttpServletRequest req)
Mit der Methode isTargetInterceptor wird ermittelt, ob die Anforderung von dem mit dem Interceptor verbundenen Proxy-Server stammt. Der Implementierungscode muss das eingehende Anforderungsobjekt analysieren und feststellen, ob der Proxy-Server, von dem die Anforderung weitergeleitet wurde, für diesen Interceptor gültig ist. Das Ergebnis dieser Methode bestimmt, ob der Interceptor die Anforderung verarbeitet.
- Ergebnis der Methode
Mit dem Wert true wird WebSphere Application Server mitgeteilt, dass der TAI die Anforderung abwickeln soll.
Mit dem Wert false wird WebSphere Application Server mitgeteilt, dass der TAI ignoriert werden soll.
- Name der Schlüsselmethode
- public TAIResult negotiateValidateandEstablishTrust (HttpServletRequest
req, HttpServletResponse res)
Die Methode negotiateValidateandEstablishTrust bestimmt, ob der Proxy-Server, von dem die Anforderung stammt, vertrauenswürdig ist. Der Implementierungscode muss den Proxy-Server authentifizieren. Das Authentifizierungsverfahren ist abhängig vom Proxy-Server. In der Produktimplementierung des WebSEAL-Servers ruft diese Methode beispielsweise die grundlegenden Authentifizierungsinformationen aus dem HTTP-Header ab und wertet diese Informationen anhand der von WebSphere Application Server verwendeten Benutzerregistry aus. Ist der Berechtigungsnachweis ungültig, löst der Code eine Ausnahme des Typs WebTrustAssociationException aus. Diese gibt an, dass der Proxy-Server nicht vertrauenswürdig ist und die Anforderung abgelehnt werden muss. Falls die Berechtigungsnachweise gültig sind, gibt der Code ein Ergebnis des Typs TAIResult zurück, das den Status der Anforderungsverarbeitung und die für die Berechtigung der Webressource zu verwendende Client-ID (Subject und Principal-Name) enthält.
- Ergebnis der Methode
- Gibt ein Ergebnis des Typs TAIResult zurück, das den Status der Anforderungsverarbeitung anzeigt. Sie können das Anforderungsobjekt abfragen und das Antwortobjekt ändern.
- Wird der Wert HttpServletResponse.SC_OK zurückgegeben, wird WebSphere Application Server mit dieser Antwort mitgeteilt, dass der TAI die Vereinbarung abgeschlossen hat. Die Antwort gibt auch an, dass WebSphere Application Server die Informationen im TAIResult-Ergebnis zum Erstellen einer Benutzeridentität verwenden soll.
- Mit anderen Werten wird WebSphere Application Server mitgeteilt, die TAI-Ausgabe zurückzugeben, die in die Antwort des Typs HttpServletResponse an den Web-Client eingefügt wird. Normalerweise stellt der Web-Client zusätzliche Informationen bereit und führt anschließend erneut einen TAI-Aufruf aus.
TAIResult | Erläuterung |
---|---|
public static TAIResult create(int status); | Zeigt WebSphere Application Server einen Status an. Der Status kann nicht SC_OK sein, weil die Informationen zur Identität bereitgestellt werden. |
public static TAIResult create(int status, String principal); | Zeigt WebSphere Application Server einen Status an und stellt die Benutzer-ID oder die eindeutige ID für diesen Benutzer bereit. WebSphere Application Server erstellt durch Abfragen der Benutzerregistry Berechtigungsnachweise. |
public static TAIResult create(int status, String principal, Subject subject); | Zeigt WebSphere Application Server einen Status an, die Benutzer-ID oder die eindeutige ID für den Benutzer sowie ein angepasstes Subjekt. Enthält das Subjekt eine Hash-Tabelle, wird der Principal ignoriert. Der Inhalt des Subjekts (Subject) wird Teil des resultierenden Benutzersubjekts. |
// Das Objekt HttpServletResponse ändern.
// Der Antwortcode ist nur auf dem Client aussagekräftig.
return TAIResult.create(HttpServletResponse.SC_CONTINUE);
// Das Objekt HttpServletResponse ändern.
return TAIResult.create(HttpServletResponse.SC_OK, userid);
// Subjekt erstellen und Hash-Tabelle darin aufnehmen.
Subject subject = new Subject;
subject.getPublicCredentials().add(hashtable);
// Der Antwortcode ist nur auf dem Client aussagekräftig.
return TAIResult.create(HttpServletResponse.SC_OK, "ignored", subject);
//Fehlernachricht protokollieren.
// ....
throw new WebTrustAssociationFailedException("TAI failed for this reason");
Die Schnittstelle "TrustAssociationInterceptor" enthält die folgenden zusätzlichen Methoden. Diese Methoden werden für die Initialisierung, die Beendigung und die Identifizierung des TAI in WebSphere Application Server verwendet. Weitere Informationen finden Sie in der Java™-Dokumentation.
- Methodenname
- public int initialize(Properties props)
- Ergebnis der Methode
- Diese Methode wird während der TAI-Initialisierung und nur dann aufgerufen, wenn angepasste Eigenschaften für den Interceptor konfiguriert sind.
- Methodenname
- public String getVersion()
- Ergebnis der Methode
- Diese Methode gibt die Version des TAI zurück.
- Methodenname
- public String getType()
- Ergebnis der Methode
- Diese Methode gibt den Typ des TAI zurück.
- Methodenname
- public void cleanup()
- Ergebnis der Methode
- Diese Methode wird beim Stoppen des Prozesses von WebSphere Application Server aufgerufen. Wird der Prozess von WebSphere Application Server gestoppt, hat der TAI die Möglichkeit, die erforderlichen Bereinigungsaktionen auszuführen. Diese Methode ist nicht erforderlich, wenn keine Bereinigung benötigt wird.