Die Filterwerte für die SPNEGO-Webauthentifizierung (Simple and Protected GSS-API Negotiation Mechanism) steuern verschiedene Aspekte von SPNEGO. Verwenden Sie diese Seite, um unterschiedliche Filterwerte für jeden Anwendungsserver anzugeben.
Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Sicherheit > Globale Sicherheit. Erweitern Sie unter "Authentifizierung" den Abschnitt "Web- und SIP-Sicherheit", und klicken Sie anschließend auf SPNEGO-Webauthentifizierung. Klicken Sie unter "SPNEGO-Filter" auf Neu, oder wählen Sie einen zu bearbeitenden Filter aus.
Gibt den vollständig qualifizierten Hostnamen im Kerberos-Service-Principal-Namen (SPN) an, der von SPNEGO für die Einrichtung eines sicheren Kontextes verwendet wird.
Der Hostname ist die vollständig qualifizierte Form des Hostnamens, z. B. myHostname.austin.ibm.com.
Der Kerberos-SPN ist eine Zeichenfolge im Format HTTP/<vollständig qualifizierter Hostname>@KERBEROS_REALM. Der SPNEGO-Provider verwendet den vollständigen SPN und den Java Generic Security Service (JGSS), um den im Authentifizierungsprozess verwendeten Sicherheitsberechtigungsnachweis und den zugehörigen Sicherheitskontext abzurufen.
Datentyp | String |
Gibt den Namen Ihres Kerberos-Realms an. In den meisten Fällen ist der Realm der Domänenname in Großbuchstaben. Eine Maschine mit dem Domänennamen test.austin.ibm.com hat beispielsweise gewöhnlich den Kerberos-Realm-Namen AUSTIN.IBM.COM.
Wenn Sie den Kerberos-Realm-Namen nicht angeben, wird der Standard-Realm verwendet, der in der Kerberos-Konfigurationsdatei definiert ist.
Die Filterbedingungen, die von der von SPNEGO verwendeten Java-Klasse verwendet wird.
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-Anforderungs-Header, 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 |
Datentyp | String |
Gibt den Namen der Java-Klasse an, die von SPNEGO verwendet wird, um die HTTP-Anforderungen auszuwählen, die der SPNEGO-Authentifizierung unterliegen. Wenn Sie diesen Parameter nicht angeben, wird die Standardfilterklasse com.ibm.ws.security.spnego.HTTPHeaderFilter verwendet.
Datentyp | String |
Diese Option ist optional. Sie gibt den URL einer Ressource an, die den Inhalt enthält, den SPNEGO in die HTTP-Antwort einschließt, die von der Browserclientanwendung angezeigt wird, wenn diese keine SPNEGO-Authentifizierung unterstützt.
Diese Eigenschaft kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.
<html><head><title>SPNEGO authentication is not supported</title></head> <body>SPNEGO authentication is not supported on this client</body></html>;
Datentyp | String |
Diese Eigenschaft ist optional. Sie gibt den URL einer Ressource an, die den Inhalt enthält, den SPNEGO in die HTTP-Antwort einfügt, die in der Browserclientanwendung angezeigt wird.
Die Browserclientanwendung zeigt diese HTTP-Antwort an, wenn der Browserclient während des Handshakes mit Anforderung/Antwortaustausch ein NTLM-Token (NT LAN Manager) anstelle des erwarteten SPNEGO-Token sendet.
<html><head><title>An NTLM Token was received.</title></head> <body>Your browser configuration is correct, but you have not logged into a supported Microsoft(R) Windows(R) Domain. <p>Please login to the application using the normal login page.</html>
Diese Eigenschaft kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.
Datentyp | String |
Gibt an, ob die übertragenen Kerberos-Berechtigungsnachweise von SPNEGO gespeichert werden sollen. Diese Option ermöglicht einer Anwendung auch, die gespeicherten Berechtigungsnachweise abzurufen und sie für weitere SPNEGO-Authentifizierungen an andere nachgeordnete Anwendungen weiterzugeben.
Diese Option erfordert die Verwendung des erweiterten Features für die Übertragung von Kerberos-Übertragungen und die Entwicklung angepasster Logik durch den Anwendungsentwickler. Der Entwickler muss direkt mit dem Kerberos-KDC interagieren, um einen Kerberos-TGT (Ticket Granting Service) zu erhalten. Er verwendet dabei die delegierten Kerberos-Berechtigungsnachweise im Namen des Benutzers, 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.
Wenn Sie das KRBAuthnToken an einen nachgeschalteten (Downstream-)Server weitergeben möchten, muss das Client-TGT (Ticket Granting Ticket) weiterleitbare Optionen ohne Adresse enthalten. Wenn ein Client-TGT adressiert ist, hat der nachgeschaltete (Downstream-) nach der Weitergabe keinen Berechtigungsnachweis für die GSS-Clientdelegierung.
Sie können den GSSCredential-Berechtigungsnachweis für Clientdelegierung mit der Methode "KRBAuthnToken.getGSSCredential()" aus dem KRBAuthnToken extrahieren.
Standardeinstellung | Inaktiviert |
Diese Option ist optional. Sie gibt an, ob SPNEGO das Suffix des Principal-Benutzernamens (ab @) entfernt, das dem Kerberos-Realm-Namen vorangestellt ist. Ist dieses Attribut auf true gesetzt, wird das Suffix des Principal-Benutzernamens entfernt. Das Suffix des Principal-Namens bleibt erhalten, wenn dieses Attribut auf false gesetzt ist. Der verwendete Standardwert ist true.
Standardeinstellung | Inaktiviert |
Mit (online) gekennzeichnete Links setzen einen Internet-Zugang voraus.