Question

Vous pouvez voir dans les articles suivants

http://forums.sun.com/thread.jspa?threadID=603815

http: / /forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.html un exemple d'accès à LDAP à l'aide de la classe InitialLdapContext en Java. Cela nécessite de saisir un login et un mot de passe . (Même si le compte de service ou l'utilisateur exécutant le processus java est déjà connecté pour pouvoir s'exécuter.)

Le compte d'utilisateur ou de service étant déjà connecté, il peut déjà exécuter des commandes Active Directory telles que les suivantes, sans nom d'utilisateur ni mot de passe:

dsquery user -samid "login" |dsget user -samid -email -display

Alors, pourquoi Java a-t-il besoin de la connexion et d'un mot de passe - si cette requête est déjà disponible pour Windows? Kosuke laisse entendre que ce n'est pas nécessaire dans ce billet de blog en conclusion:

https: // community .oracle.com / blogs / kohsuke / 2008/06/12 / more-active-directory-integration-java

Ma question est la suivante: comment appeler Active Directory en Java sans:

  • utilisant un login ou un mot de passe (s'exécutant sous un compte déjà connecté)?
  • exécuter une commande sur la ligne de commande?
Était-ce utile?

La solution

Ceci est probablement dû au fait que

  • Vous utilisez des bibliothèques / contextes LDAP pour communiquer avec Active Directory et ces bibliothèques doivent prendre en charge d'autres types de LDAP (AD compte-t-il même en tant que LDAP?)
  • Les fournisseurs de ces implémentations sont ceux qui en ont besoin. La communication LDAP se fait par l’intermédiaire de fournisseurs qui fournissent l’implémentation, mais pas par le runtime Java réel.
  • Le mot de passe de l'utilisateur actuel n'est pas (j'espère) fourni par Windows à Java.

Lorsque Windows vous authentifie auprès d'AD lorsque vous exécutez des applications qui en ont besoin, il présente un autre ensemble d'informations d'identification en plus de votre mot de passe actuel. Ces informations d'identification ne sont pas disponibles en Java ou, du moins, aucun des fournisseurs de communicateurs LDAP n'a fourni de moyen de les récupérer.

dans son autre billet de blog sur le subject Kohsuke explique un peu plus en détail pourquoi les choses sont comme en Java par rapport à Active Directory.

Autres conseils

Vous pouvez également consulter le lien ci-dessous pour trouver des instructions détaillées permettant à l'authentification intégrée de Windows de fonctionner dans la plate-forme Java.

  

http://webmoli.com/ 2009/08/29 / single-sign-on-in-java-platform /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top