Sie können Liberty für die Integration mit einem Sicherheitsservice eines anderen
Anbieters mithilfe von TAIs (Trust-Association-Interceptors) konfigurieren. Der TAI kann vor oder nach Single Sign-on (SSO) aufgerufen werden.
Vorbereitende Schritte
Vergewissern Sie sich, dass bereits ein Sicherheitsserver eines anderen Anbieters als
Reverse-Proxy-Server installiert ist. Der Sicherheitsserver eines anderen Anbieters kann als Front-End-Authentifizierungsserver fungieren, wenn der
Liberty-Server seine eigenen Berechtigungsrichtlinien auf die erstellten Berechtigungen anwendet, die vom Proxy-Server übergeben werden. Inzwischen haben Sie eine JAR-Datei, in der die angepasste TAI-Klasse enthalten ist, die
die Schnittstelle
com.ibm.wsspi.security.tai.TrustAssociationInterceptor implementiert.
Anmerkung: Diese JAR-Datei kann nicht hinsichtlich Änderungen überwacht werden.
Informationen zu diesem Vorgang
Ein TAI wird für die Validierung von HTTP-Anforderungen zwischen einem Sicherheitsserver eines anderen Anbieters und einem Liberty-Server verwendet. Der TAI überprüft die HTTP-Anforderungen
des Sicherheitsservers eines anderen Anbieters, um festzustellen, ob es Sicherheitsattribute
gibt. Wenn die Validierung einer Anforderung durch den TAI erfolgreich ist, berechtigt der Liberty-Server die Anforderung, indem er überprüft, ob der Clientbenutzer die erforderliche Berechtigung für den Zugriff auf die Ressourcen hat.
Weitere Informationen zur angepassten TAI- und SSO-Konfiguration mit LTPA finden Sie unter
Angepassten TAI für Liberty entwickeln und SSO-Konfiguration mit LTPA-Cookies in Liberty anpassen.
Vorgehensweise
- Legen Sie das Feature
appSecurity-2.0
Liberty in der Datei
server.xml fest.
<featureManager>
<feature>appSecurity-2.0</feature>
</featureManager>
- Implementieren Sie Ihre Anwendungen im Liberty-Server und aktivieren Sie alle Liberty-Features, wie z. B. jsp-2.2 und jdbc-4.0.
- Legen Sie die TAI-Implementierungsbibliothek simpleTAI.jar in Ihrem
Serververzeichnis ab.
- Aktualisieren Sie die Datei
server.xml mit den TAI-Konfigurationsoptionen und der Position der TAI-Implementierungsbibliothek.
In der folgenden Datei
server.xml
wird der angepasste TAI aktiviert,
aber er führt keine Authentifizierung für ungeschützte URIs durch und
erlaubt im Fall eines Fehlschlagens der TAI-Authentifizierung
keinen Rückgriff auf die Authentifizierungsmethode der Anwendung. Wie in diesem Beispiel gezeigt, sind folgende Konfigurationselemente für die TAI-Unterstützung verfügbar:
- trustAssociation
- interceptors
- properties
<trustAssociation id="myTrustAssociation" invokeForUnprotectedURI="false"
failOverToAppAuthType="false">
<interceptors id="simpleTAI" enabled="true"
className="com.sample.SimpleTAI"
invokeBeforeSSO="true" invokeAfterSSO="false" libraryRef="simpleTAI">
<properties prop1="value1" prop2="value2"/>
</interceptors>
</trustAssociation>
<library id="simpleTAI">
<fileset dir="${server.config.dir}" includes="simpleTAI.jar"/>
</library>
...
Anmerkung: Der Eigenschaftsname kann nicht mit einem
Punkt (.), config. oder
service beginnen. Außerdem ist der Eigenschaftsname
id oder ID nicht zulässig.
Anmerkung: Die Eigenschaft invokeBeforeSSO ist standardmäßig auf "true" gesetzt.
Wird diese Einstellung verwendet, wird der TAI auch aufgerufen, wenn das SSO-Token vorhanden und gültig ist.
Wenn aber das erwartete Verhalten ist, den TAI nur aufzurufen, wenn das SSO-Token ungültig oder nicht vorhanden ist,
kann diese Eigenschaft inaktiviert werden, indem Sie auf "false" gesetzt und die Eigenschaft
invokeAfterSSO aktiviert wird.
Wird diese Einstellung verwendet, wird der TAI nur aufgerufen, wenn das SSO-Token nicht vorhanden oder ungültig ist.
In einigen Fällen kann diese Konfiguration die Leistung Ihres Systems verbessern.
Weitere Informationen zu den Elementen
<trustAssociation>, <interceptors> und <properties> finden Sie unter JMX REST Connector 1.0.