2012-12-10 13 views
0

Je développe une application serveur Java EE qui doit générer un ticket Kerberos pour le compte d'un utilisateur.Génération de tickets AD Kerberos sans mot de passe utilisateur

L'application que je développe authentifiera l'utilisateur en utilisant d'autres informations d'identification (non Active Directory, disons biométrique), et devra ensuite générer un ticket Kerberos indiquant que l'utilisateur est authentifié. Je vais ensuite utiliser le ticket Kerberos pour générer un jeton SPNEGO et insérer le jeton dans l'en-tête HTTP afin que l'utilisateur n'ait pas besoin d'être ré-authentifié lors des requêtes suivantes du navigateur.

Est-il possible de générer ce ticket Kerberos au nom de l'utilisateur sans le mot de passe AD brut de l'utilisateur? (Supposons que j'ai accès à un compte de service AD ​​& mot de passe de connexion). Si c'est possible, comment pourrais-je le faire? Quel type de configuration, les autorisations sont nécessaires?

Répondre

2

Oui, c'est possible. Microsoft a étendu Kerberos pour cela. C'est ce qu'on appelle les services pour l'utilisateur (S4U). Votre cas est appelé S4U2Self (transition de protocole). Ce sera disponible avec Java 8. Vous pouvez vérifier le ticket et ajouter ce code à votre classpath approuvé par Java. Vous pouvez en lire plus dans le MIT Kerberos wiki.

+0

Merci beaucoup. Exactement ce que je cherchais !! –

+0

Content de pouvoir vous aider. Si cela fonctionne, partagez votre expérience. Vous pourriez aussi remettre ma réponse à plus tard. –

+0

Veuillez noter que vous devrez obtenir l'UPN du client d'une manière ou d'une autre. –

Questions connexes