Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI (veraltet)
Die angepassten Konfigurationseigenschaften für Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) Trust Association Interceptor (TAI) steuern unterschiedliche Aspekte des SPNEGO TAI. Sie können für jeden Anwendungsserver andere Eigenschaftswerte angeben.

In WebSphere Application Server Version 6.1 wurde ein TAI eingeführt, der SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) nutzt, um HTTP-Anforderungen für geschützte Ressourcen sicher auszuhandeln und zu authentifizieren. Diese Funktion wird in WebSphere Application Server 7.0 nicht weiter unterstützt. Die SPNEGO-Webauthentifizierung wird jetzt genutzt, um SPNEGO-Filter dynamisch neu zu laden und den Rückgriff auf die Methode der Anwendungsanmeldung zu ermöglichen.
depfeatAlle in der folgenden Tabelle definierten Eigenschaften werden in der Administrationskonsole in der Anzeige "Angepasste Eigenschaften" für den SPNEGO TAI angegeben. Bei Bedarf können Sie diese Eigenschaften auch in eine Eigenschaftendatei stellen. Der SPNEGO TAI lädt die Konfigurationseigenschaften dann aus der Datei und nicht aus der Definition in der Anzeige "Angepasste Eigenschaften". Lesen Sie die Informationen zur Eigenschaft "com.ibm.ws.security.spnego.propertyReloadFile" im Artikel Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI.
In die Eigenschaftsnamen wird eine SPN-<ID>integriert, um die Eigenschaften für die einzelnen SPN zu gruppieren und die Eigenschaftsnamen, die jeden möglichen SPN identifizieren sollen, eindeutig zu machen. Die SPN-<IDs> sind für jede Eigenschaftsgruppe sequenzielle Zahlen.
Eigenschaftsname | Erforderlich | Standardwert |
---|---|---|
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate | Nein | false |
com.ibm.ws.security.spnego.SPN<id>.filter | Nein | Siehe folgende Beschreibung |
com.ibm.ws.security.spnego.SPN<id>.filterClass | Nein | Siehe folgende Beschreibung |
com.ibm.ws.security.spnego.SPN<id>.hostName | Ja | Ohne |
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage | Nein | Siehe folgende Beschreibung |
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage | Nein | Siehe folgende Beschreibung |
com.ibm.ws.security.spnego.SPN<id>.trimUserName | Nein | true |
- Eigenschaften des SPNEGO-TAI mit dem Dienstprogramm "wsadmin" hinzufügen (veraltet)
- Eigenschaften des SPNEGO TAI mit dem Dienstprogramm wsadmin löschen (nicht mehr unterstützt)
- Eigenschaften des SPNEGO TAI mit dem Dienstprogramm wsadmin modifizieren (nicht mehr unterstützt)
- Eigenschaften des SPNEGO-TAI mit dem Dienstprogramm "wsadmin" anzeigen (veraltet)
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate
Diese Eigenschaft ist optional. Es gibt an, ob die delegierten Kerberos-Berechtigungsnachweise vom SPNEGO TAI gespeichert werden. Diese Eigenschaft eröffnet einer Anwendung die Möglichkeit, die gespeicherten Berechtigungsnachweise abzurufen und an andere nachgeordnete Anwendungen für eine zusätzliche SPNEGO-Authentifizierung weiterzugeben.
Diese Eigenschaft erfordert die Verwendung des erweiterten Kerberos-Delegierungsfeatures für Berechtigungsnachweise und die Entwicklung angepasste Logik durch den Anwendungsentwickler. Der Entwickler muss direkt mit dem Kerberos-TGS (Ticket Granting Service) interagieren, um ein TGT (Ticket Granting Ticket) zu erhalten. Er verwendet dabei die delegierten Kerberos-Berechtigungsnachweise im Namen des Endbenutzers, von dem die Anforderung stammt. Der Entwickler muss außerdem das entsprechende Kerberos-SPNEGO-Token erzeugen und in die HTTP-Anforderung aufnehmen, damit der nachgeordnete SPNEGO-Authentifizierungsprozess sowie ggf. die Bearbeitung des zusätzlichen Austausches von SPNEGO-Anforderungen und -Antworten fortgesetzt werden kann.
com.ibm.ws.security.spnego.SPN<id>.filter
Diese Eigenschaft ist optional. Sie definiert die Filterkriterien, die von der angegebenen Klasse mit der Eigenschaft "com.ibm.ws.security.spnego.SPN<id>.filterClass" verwendet werden. Sie definiert beliebige Bedingungen, die für die verwendete Implementierungsklasse aussagefähig sind.
Die Standardimplementierungsklasse "com.ibm.ws.security.spnego.HTTPHeaderFilter" definiert mit dieser Eigenschaft eine Liste von Auswahlregeln, deren Bedingungen mit den Headern von HTTP-Anforderungen abgeglichen werden, um festzustellen, ob die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt wurde.
Jede Bedingung wird durch ein Schlüssel-Wert-Paar angegeben. Die einzelnen Bedingungen sind jeweils durch ein Semikolon voneinander getrennt. Die Bedingungen werden in der Reihenfolge, in der sie in der angegebenen Eigenschaft erscheinen, von links nach rechts ausgewertet. Falls alle Bedingungen erfüllt sind, wird die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt.
Der Schlüssel und der Wert im Schlüssel-Wert-Paar sind durch einen Operator getrennt, der die zu überprüfende Bedingung definiert. Der Schlüssel bezeichnet einen HTTP-Anforderungsheader, der aus der Anforderung zu extrahieren ist und dessen Wert gemäß der Operatorspezifikation mit dem Wert des Schlüssels im Schlüssel-Wert-Paar verglichen wird. Falls es den vom Schlüssel bezeichneten Header nicht in der HTTP-Anforderung gibt, wird die Bedingung als nicht erfüllt angesehen.
String url = request.getRequestURL() + ‘?' + request.getQueryString();
Bedingung | Operator | Beispiel |
---|---|---|
Exakte Übereinstimmung | = = Es wird überprüft, ob die Argumente gleich sind. |
host=host.my.company.com |
Teilweise Übereinstimmung (ist enthalten) | %= Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung bereits gültig ist. |
user-agent%=IE 6 |
Teilweise Übereinstimmung (eines von mehreren ist enthalten) | ^= Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung für eines von mehreren angegebenen Argumenten gültig ist. |
request-url^=webApp1|webApp2|webApp3 |
Keine Übereinstimmung | != Es wird überprüft, ob die Argumente ungleich sind. |
request-url!=noSPNEGO |
Größer als | > Es wird überprüft, ob die Argumente lexikografisch größer sind. |
remote-address>192.168.255.130 |
Kleiner als | < Es wird überprüft, ob die Argumente lexikografisch kleiner sind. |
remote-address<192.168.255.135 |
com.ibm.ws.security.spnego.SPN<id>.filterClass
Diese Eigenschaft ist optional. Es gibt den Namen der Java-Klasse an, mit der der SPNEGO TAI die HTTP-Anforderungen auswählt, die mit SPNEGO authentifiziert werden sollen.
Falls keine Klasse angegeben ist, wird die Standardimplementierungsklasse com.ibm.ws.security.spnego.HTTPHeaderFilter verwendet. Die angegebene Java-Klasse muss die Schnittstelle com.ibm.wsspi.security.spnego.SpnegoFilter implementieren. Eine Standardimplementierung dieser Schnittstelle steht zur Verfügung. Geben Sie die Klasse com.ibm.ws.security.spnego.HTTPHeaderFilter als zu verwendende Standardimplementierung an. Diese Klasse verwendet die Auswahlregeln, die mit der Eigenschaft com.ibm.ws.security.spnego.SPN<id>.filter angegeben werden.
com.ibm.ws.security.spnego.SPN<id>.hostName
Diese Eigenschaft ist erforderlich. Es gibt den Hostnamen in dem vom SPNEGO TAI für die Herstellung eines sicheren Kerberos-Kontextes verwendeten SPN an. Es ist kein Standardwert verfügbar.
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage
Diese Eigenschaft ist optional. Es gibt die Webadresse einer Ressource mit dem Inhalt an, den der SPNEGO TAI in die HTTP-Antwort aufnimmt, die die Clientanwendung (der Browser) anzeigt, wenn das vom Interceptor nach dem Handshake für die Antwort auf die Anforderung empfangene Token ein NTLM-Token (NT LAN Manager) und kein SPNEGO-Token ist.
<html><head><title>Es wurde ein NTLM-Token empfangen.</title></head>
<body>Ihre Browser-Konfiguration ist zwar korrekt, aber Sie haben sich nicht an der unterstützten
Microsoft(R) Windows(R)-Domäne angemeldet.
<p>Melden Sie sich über die normale Anmeldeseite an der Anwendung an.</html>
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage
Diese Eigenschaft ist optional. Es gibt die Webadresse einer Ressource mit dem Inhalt an, den der SPNEGO TAI in die HTTP-Antwort aufnimmt, die die Clientanwendung (der Browser) anzeigt, wenn die Anwendung keine SPNEGO-Authentifizierung unterstützt. Es kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.
<html><head><title>SPNEGO-Authentifizierung wird nicht unterstützt</title></head>
<body>SPNEGO-Authentifizierung wird auf diesem Client nicht unterstützt</body></html>;
com.ibm.ws.security.spnego.SPN<id>.trimUserName
Diese Eigenschaft ist optional. Sie gibt an, ob der SPNEGO TAI das Suffix des Principal-Benutzernamens ab dem Zeichen "@" vor dem Kerberos-Realmnamen entfernen soll (true) oder nicht (false).
Ist diese Eigenschaft auf true gesetzt, wird das Suffix des Principal-Benutzernamens entfernt. Das Suffix des Principal-Namens bleibt erhalten, wenn diese Eigenschaft auf false gesetzt ist. Der verwendete Standardwert ist true. Beispiel:
wird bobsmith@myKerberosRealm zu bobsmith.
bleibt bobsmith@myKerberosRealm bobsmith@myKerberosRealm.