Présentation technique de Sun Java Enterprise System 5 Update 1

Authentification et connexion unique

Les services d'autorisation et d'authentification de Java ES sont fournis par Access Manager. Access Manager utilise les informations de Directory Server pour gérer les interactions des utilisateurs avec les services Web de Java ES ou d'autres services Web au sein d'une entreprise.

Access Manager utilise un composant externe appelé agent de stratégie. L'agent de stratégie se connecte au serveur Web qui héberge une ressource ou un service sécurisé par Access Manager. L'agent de stratégie intercède auprès d'Access Manager pour les requêtes adressées par des utilisateurs aux ressources sécurisées. Pour certains composants Java ES, comme Portal Server, les fonctionnalités de l'agent de stratégie sont assurées par un sous-composant Access Manager SDK.

Authentification

Access Manager comporte un service d'authentification permettant de vérifier les identités des utilisateurs qui demandent l'accès (par HTTP ou HTTPS) aux services Web d'une entreprise. Par exemple, un employé qui recherche le numéro de téléphone d'un collègue peut pour cela utiliser un navigateur afin de consulter l'annuaire en ligne de l'entreprise. Pour se connecter au service d'annuaire, l'utilisateur doit saisir un ID utilisateur et un mot de passe.

La séquence d'authentification est illustrée dans la Figure 3–2. Un agent de stratégie reçoit la demande de connexion à l'annuaire (1), puis il l'envoie au service d'authentification (2). Le service d'authentification vérifie l'ID utilisateur et le mot de passe en les comparant aux informations stockées dans Directory Server (3). Si la demande de connexion est valide, l'utilisateur est authentifié (4), (5) et (6), puis l'annuaire de l'entreprise s'affiche (7). Dans le cas contraire, une erreur est générée et l'authentification échoue.

Le service d'authentification prend également en charge l'authentification par certificats via HTTPS.

Figure 3–2 Séquence d'authentification

Diagramme représentant la séquence d'authentification, impliquant le navigateur Web, l'agent de stratégie, le service d'authentification, le service de session et Directory Server.

Connexion unique

Le scénario d'authentification traité dans les paragraphes précédents dissimule une étape importante. Lors de la vérification d'une demande d'authentification d'un utilisateur, le service de session de Access Manager est engagé (4), comme illustré dans la Figure 3–2. Le service de session génère un jeton de session qui détient les informations sur l'identité de l'utilisateur et un ID de jeton (5) Le jeton de session est renvoyé à l'agent de stratégie (6) qui transfère le jeton (sous la forme d'un cookie) vers le navigateur (7) depuis lequel la demande d'authentification a été effectuée.

Si l'utilisateur authentifié essaie d'accéder à un autre service sécurisé, le navigateur transfère le jeton de session à l'agent de stratégie correspondant. Ce dernier vérifie auprès du service de session que l'authentification précédente de l'utilisateur est toujours valide, puis l'utilisateur est autorisé à accéder au service pour la deuxième fois sans avoir à entrer de nouveau son ID utilisateur et son mot de passe.

Par conséquent, il suffit à l'utilisateur de se connecter une seule fois pour être authentifié sur plusieurs services Web fournis par Java ES. L'authentification avec connexion unique reste valide jusqu'à la déconnexion de l'utilisateur ou jusqu'à l'expiration de la session.