Développement d'un intercepteur de relations de confiance pour Liberty

Vous pouvez développer une classe d'intercepteur de relations de confiance (TAI) en implémentant l'interface com.ibm.wsspi.security.tai.TrustAssociationInterceptor fournie avec le serveur Liberty.

Pourquoi et quand exécuter cette tâche

L'interface d'association de confiance est une API de fournisseur de services qui permet l'intégration de services de sécurité tiers avec un serveur Liberty. Au cours du traitement de la demande Web, le serveur Liberty émet un appel sortant et transmet HttpServletRequest et HttpServletResponse aux intercepteurs de relations de confiance. L'objet HttpServletRequest appelle la méthode isTargetInterceptor de chaque intercepteur pour savoir s'il est qualifié pour traiter la demande. Une fois que l'intercepteur approprié est sélectionné, sa méthode negotiateValidateandEstablishTrust traite l'objet HttpServletRequest et le résultat est renvoyé dans un objet TAIResult. Vous pouvez ajouter votre propre logique de traitement à chaque méthode de la classe de TAI personnalisée.

Consultez également le document d'API Java™ de l'interface TrustAssociationInterceptor. La documentation d'API Java de chaque API Liberty est disponible dans un fichier .zip séparé des sous-répertoires javadoc du répertoire ${wlp.install.dir}/dev.

Pour plateformes répartiesEviter les incidents : Le site Web WASdev.net propose plusieurs exemples de configuration de sécurité pour votre référence lorsque vous configurez la sécurité pour vos applications dans Liberty. Voir Configuration d'un intercepteur de relations de confiance sous Liberty avec les outils de développement.

Exemple

Voici un exemple de classe de TAI appelée SimpleTAI, qui dresse également la liste de toutes les méthodes disponibles dans l'interface TrustAssociationInterceptor.

package com.ibm.websphere.security.sample;

import java.util.Properties;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ibm.websphere.security.WebTrustAssociationException;
import com.ibm.websphere.security.WebTrustAssociationFailedException;
import com.ibm.wsspi.security.tai.TAIResult;
import com.ibm.wsspi.security.tai.TrustAssociationInterceptor;

public class SimpleTAI implements TrustAssociationInterceptor {
   public SimpleTAI() {
      super();
   }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#isTargetInterceptor
 * (javax.servlet.http.HttpServletRequest)
 */
   public boolean isTargetInterceptor(HttpServletRequest req)
                  throws WebTrustAssociationException {
      //Add logic to determine whether to intercept this request
      return true;
   }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#negotiateValidateandEstablishTrust
 * (javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
 */
   public TAIResult negotiateValidateandEstablishTrust(HttpServletRequest req,
                    HttpServletResponse resp) throws WebTrustAssociationFailedException {
        // Add logic to authenticate a request and return a TAI result.
        String tai_user = "taiUser";
        return TAIResult.create(HttpServletResponse.SC_OK, tai_user);
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#initialize(java.util.Properties)
 */
    public int initialize(Properties arg0)
                    throws WebTrustAssociationFailedException {
        return 0;
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#getVersion()
 */
    public String getVersion() {
        return "1.0";
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#getType()
 */
    public String getType() {
        return this.getClass().getName();
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#cleanup()
 */
    public void cleanup()

    {}
}

Que faire ensuite

Ajoutez la classe d'intercepteur de relations de confiance au serveur Liberty.

Utilisez l'une des méthodes suivantes pour ajouter la classe d'intercepteur de relations de confiance au serveur Liberty :

Icône indiquant le type de rubrique Rubrique Tâche



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dev_custom_tai
Nom du fichier : twlp_dev_custom_tai.html