Prise en charge de la fonction d'intercepteur (Trust Association Interceptor) pour la création du sujet
L'interface TAI (Trust Association Interceptor), com.ibm.wsspi.security.tai.TrustAssociationInterceptor, prend en charge plusieurs fonctions et diffère de l'interface com.ibm.websphere.security.TrustAssociationInterceptor existante.
- Nom de la méthode de clé
- public boolean isTargetInterceptor (HttpServletRequest req)
La méthode isTargetInterceptor permet de déterminer si la demande a été émise avec le serveur proxy associé à l'intercepteur. Le code d'implémentation doit examiner l'objet de demande entrante et déterminer si le serveur proxy qui réachemine la demande est valide pour cet intercepteur. C'est à l'examen du résultat de cette méthode que l'intercepteur décide de traiter ou non la demande.
- Résultat de la méthode
La valeur true indique à WebSphere Application Server que l'intercepteur TAI doit traiter la requête.
La valeur false indique à WebSphere Application Server qu'il doit ignorer l'intercepteur TAI.
- Nom de la méthode de clé
- public TAIResult negotiateValidateandEstablishTrust (HttpServletRequest
req, HttpServletResponse res)
La méthode negotiateValidateandEstablishTrust détermine si le serveur proxy dont émane la demande est digne de confiance. Le code d'implémentation doit authentifier le serveur proxy. Le mécanisme d'authentification est propre au serveur proxy. Par exemple, dans l'implémentation produit du serveur WebSEAL, cette méthode extrait les informations d'authentification de base de l'en-tête HTTP et contrôle leur validité par rapport au registre d'utilisateurs utilisé par WebSphere Application Server. Si les données d'identification ne sont pas valides, le code génère l'exception WebTrustAssociationException, indiquant que le proxy n'est pas digne de confiance et que la demande est rejetée. Si les données d'identification sont valides, le code renvoie un résultat TAIResult, qui indique l'état du traitement de la demande et l'identité du client (sujet et nom du principal) à utiliser pour autoriser la ressource Web.
- Résultat de la méthode
- Renvoie un résultat TAIResult, qui indique l'état du traitement de la demande. Vous pouvez interroger l'objet de demande et modifier l'objet de réponse.
- Si la valeur est HttpServletResponse.SC_OK, cette réponse indique à WebSphere Application Server que l'intercepteur TAI a terminé sa négociation. La réponse indique également à WebSphere Application Server qu'il doit utiliser les informations contenues dans le résultat TAIResult pour créer une identité utilisateur.
- Les autres valeurs indiquent à WebSphere Application Server qu'il doit renvoyer au client Web la sortie TAI placée dans la réponse HttpServletResponse. En général, le client Web fournit des informations supplémentaires puis appelle de nouveau le TAI.
TAIResult | Explications |
---|---|
public static TAIResult create(int status); | Indique un état à WebSphere Application Server. L'état ne peut pas être SC_OK car les informations d'identité sont fournies. |
public static TAIResult create(int status, String principal); | Indique un état à WebSphere Application Server et fournit l'ID utilisateur ou l'ID unique de cet utilisateur. WebSphere Application Server crée les justificatifs en interrogeant le registre d'utilisateurs. |
public static TAIResult create(int status, String principal, Subject subject); | Indique un état à WebSphere Application Server, l'ID utilisateur ou l'ID unique pour l'utilisateur, ainsi qu'un sujet personnalisé. Si le sujet contient une table de hachage, le principal est ignoré. Le contenu du sujet devient partie intégrante du sujet d'utilisateur final. |
// Modifie l'objet HttpServletResponse
// Le code de réponse n'a de signification que pour le client
return TAIResult.create(HttpServletResponse.SC_CONTINUE);
// modifie l'objet HttpServletResponse
return TAIResult.create(HttpServletResponse.SC_OK, userid);
// crée le sujet et y place la table de hachage
Subject subject = new Subject;
subject.getPublicCredentials().add(hashtable);
// Le code de réponse n'a de signification que pour le client
return TAIResult.create(HttpServletResponse.SC_OK, "ignored", subject);
//consignation du message d'erreur
// ....
throw new WebTrustAssociationFailedException("TAI failed for this reason");
Les méthodes suivantes sont des méthodes supplémentaires de l'interface TrustAssociationInterceptor. Ces méthodes sont utilisées pour l'initialisation, la fermeture et l'identification de l'intercepteur TAI auprès de WebSphere Application Server. Pour plus d'informations, voir la Java™.
- Nom de la méthode
- public int initialize(Properties props)
- Résultat de la méthode
- Cette méthode n'est appelée lors de l'initialisation TAI que si des propriétés personnalisées sont configurées pour l'intercepteur.
- Nom de la méthode
- public String getVersion()
- Résultat de la méthode
- Cette méthode renvoie la version de la TAI.
- Nom de la méthode
- public String getType()
- Résultat de la méthode
- Cette méthode renvoie le type de la TAI.
- Nom de la méthode
- public void cleanup()
- Résultat de la méthode
- Cette méthode est appelée lors de l'arrêt du processus WebSphere Application Server. L'arrêt du processus WebSphere Application Server permet à l'intercepteur TAI d'effectuer toutes les opérations de nettoyage nécessaires. Cette méthode n'est pas nécessaire lorsqu'aucun nettoyage n'est requis.