2009-06-05 9 views
2

Je fais les étapes ci-dessous pour obtenir le jeton de sécurité du navigateur pour l'authentification Single Sign On.Authentification Kerberos de ma servlet personnalisée?

Je suis capable de trouver le jeton de l'en-tête http. Ma question est: a) Comment puis-je vérifier ce jeton avec le répertoire actif? b) Comment trouver le nom d'utilisateur de ce jeton?

Lors du googling, il semble que l'API Java ait un module de connexion Kerberos5 pour faire ce à quoi je m'attendais. Mais presque toutes les pages manquent d'exemples simples.

  1. Le client Web accède à une ressource Java AS avec une requête GET.
  2. L'AS Java renvoie un code de réponse 401 (non autorisé) avec une demande d'initialisation de l'authentification SPNego en définissant l'en-tête HTTP "WWW-Authenticate" sur "Negotiate".
  3. Le client Web reconnaît que l'hôte Java AS est membre du domaine Kerberos et fournit un ticket de session Kerberos Client/Serveur pour l'AS Java à partir du KDC.
  4. Le client Web envoie ensuite le ticket de session client/serveur Kerberos à l'AS Java encapsulé en tant que jeton SPNego dans l'en-tête d'autorisation HTTP.
  5. Le module SPNegoLoginModule lit le jeton à partir de la requête HTTP et alimente l'implémentation Kerberos du JDK avec celui-ci.
  6. Le résultat est une authentification réussie du client ou un échec lorsque la demande du client est rejetée ou qu'un autre renvoi vers le KDC est nécessaire. En cas d'échec, l'implémentation JDK Kerberos de l'AS Java génère et renvoie au client Web un jeton de sortie. Le jeton de sortie est enveloppé en tant que jeton SPNego et envoyé dans l'en-tête d'autorisation HTTP.

Toute aide serait appréciée.

Répondre

Questions connexes