Le WebAgent assure le contrôle d’accréditation en amont de l’application Web sollicitée.
Le schéma ci-dessous illustre le fonctionnement global d’un webagent E-Sentry :
Figure 128 : Fonctionnement général WebAgent
Les mécanismes mis en œuvre sont les suivants :
1. Sur requête venant du navigateur, le WebAgent contrôle la présence du jeton d’authentification. Ce jeton peut être fourni via cookie (méthode actuelle) ou bien via SSL avec certification X509 utilisateur. Le jeton ou le certificat permet de déterminer l’identité (User-id e-Sentry) de l’utilisateur. Si ce jeton/certificat n’est pas valide ou bien absent, la requête est redirigée vers la fonction d’authentification du serveur e-Sentry.
2. L’authentification réussie sur le serveur d’authentification relance la requête initiale de l’utilisateur. Le WebAgent analyse cette requête pour déterminer à quelle ressource protégée elle est associée. Ce contrôle s’effectue sur la base des informations configurées par l’administrateur de sécurité dans le fichier de configuration locale du WebAgent. Ce contrôle permet de déterminer le nom du service e-Sentry associé à la requête.
3. Muni de ces deux informations : identifiant de l’utilisateur et nom du service demandé, le WebAgent va s’efforcer d’obtenir le bloc d’accréditation de l’usager sur ce service. Il va pour cela consulter en priorité son ‘cache’ local. Si le bloc d’accréditation n’est pas présent ou est périmé, il va lancer une requête vers les fonctions d’accréditation du(des) serveur(s) e-Sentry.
4. Le WebAgent va exploiter le bloc d’accréditation pour, par exemple :
- contrôler les filtres possibles positionnés sur les ressources demandées ;
- vérifier que l’on est bien dans les heures d’accès autorisées à la ressource ;
- extraire et charger automatiquement le champ d’authentification HTTP : Id et mot de passe associé à la protection de cette application ;
- positionner des variables dans la « Query-string » ou dans un « header quelconque » du protocole http ;
- Ces différents paramètres seront trouvés par l’application dans les variables d’environnement Web standards.