Vous pouvez configurer le profil Liberty pour son intégration avec un service de sécurité tiers à l'aide d'intercepteurs de relations de confiance (TAI). Un intercepteur de relations de confiance peut être appelé avant ou après la connexion unique (SSO).
Avant de commencer
Assurez-vous d'avoir déjà installé un serveur de sécurité tiers comme serveur proxy inverse. Le serveur de sécurité tiers peut servir de serveur d'authentification frontale lorsque le serveur de profil Liberty applique sa propre règle d'autorisation aux données d'identification générées, qui sont transmises par le serveur proxy. Vous devez aussi disposer d'un fichier JAR contenant la classe d'intercepteur de relations de confiance personnalisée qui implémente l'interface
com.ibm.wsspi.security.tai.TrustAssociationInterceptor.
Remarque : Aucun support n'est prévu
pour surveiller les changements apportés à ce fichier JAR.
Pourquoi et quand exécuter cette tâche
Un intercepteur de relations de confiance permet de valider des demandes HTTP transmises entre un serveur de sécurité tiers et un serveur de profil Liberty. L'intercepteur TAI inspecte les requêtes HTTP du serveur de sécurité tiers pour vérifier si elles contiennent des attributs de sécurité.
Si le processus de validation d'une demande par l'intercepteur de relations de confiance aboutit, le serveur de profil Liberty autorise la demande en vérifiant si l'utilisateur client dispose des droits requis pour accéder aux ressources.
Pour des informations sur la configuration de la connexion unique avec LTPA et de l'intercepteur de relations de confiance, voir Développement d'un intercepteur de relations de confiance pour le profil Liberty et Personnalisation de la configuration de la connexion unique (SSO) avec des cookies LTPA pour le profil Liberty.
Vous pouvez également utiliser les outils de développement pour
configurer un service d'intercepteur de relations de confiance. Pour plus d'informations sur la prise en charge des outils, voir Configuration d'un intercepteur de relations de confiance dans le profil Liberty avec les outils de développement.
Procédure
- Activez la fonction Liberty
appSecurity-2.0
dans le fichier server.xml.
<featureManager>
<feature>appSecurity-2.0</feature>
</featureManager>
- Déployez vos applications sur le serveur de profil Liberty et
activez toutes les fonctions Liberty, comme
jsp-2.2 et jdbc-4.0.
- Placez la bibliothèque d'implémentation de l'intercepteur de relations de confiance simpleTAI.jar dans le répertoire du serveur.
- Mettez à jour le fichier server.xml pour y inclure les options de configuration
de l'intercepteur de relations de confiance et l'emplacement de la bibliothèque contenant son implémentation.
Dans le fichier
server.xml suivant, l'intercepteur TAI personnalisé est activé mais n'effectue aucune authentification des URL non protégées et ne permet pas de revenir à la méthode d'authentification par l'application si l'authentification par le TAI échoue. Comme le montre cet exemple,
les éléments de configuration suivants sont disponibles pour le support
des TAI :
- trustAssociation
- interceptors
- propriétés
<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>
...
Remarque : Le nom de propriété ne doit pas commencer par un point (.), par config. ou par service.
Par ailleurs, le nom de propriété id ou ID n'est pas
autorisé.
Remarque : Par défaut, la propriété invokeBeforeSSO reçoit la valeur 'true'. Avec ce paramètre, le TAI est appelé même si le jeton SSO est présent et valide. Cependant, si le comportement prévu est d'appeler le TAI uniquement si le jeton SSO n'est pas présent, ou n'est pas valide, cette propriété peut être désactivée en lui attribuant la valeur 'false' et en activant la propriété invokeAfterSSO. De la sorte, le TAI n'est appelé que si le jeton SSO n'est pas présent ou n'est pas valide. Dans certains cas, ceci est susceptible d'améliorer les performances de votre système.
Pour plus d'informations sur les éléments <trustAssociation>, <interceptors> et <properties>, voir aussi Eléments de configuration dans le fichier server.xml.