Connexion a LDAP avec java

himachalene Messages postés 2 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 7 avril 2006 - 7 avril 2006 à 13:07
5ou5a2012 Messages postés 14 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 23 juillet 2012 - 11 juil. 2012 à 15:21
bonjour
je travailles sur une application java pour authentifier les utilisateurs via ldap.
je dois d'abord faire la connexion a ldap a l'aide de JNDI,pour cela jé telecharger la librairie jndi.jar depuis le site de sun mais je sais pas ou est ce que je vais la mettre pour l'exploiter??
une autre question esque la machine virtuelle JDK contient une librarie JNDI pour effectuer la connexion??
qalqu'un pourrai m'aider je ss bloqué
merci...

7 réponses

cs_petitemainate Messages postés 29 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 14 septembre 2009
7 avril 2006 à 14:21
Salut,
tu as de la chance, c'est exactement le sujet sur lequel je me suis penchée ces deux dernières semaines
La librairie JNDI est incluse dans le JDK depuis la version 1.3 donc pas besoin d'installer un jar supplémentaire.
Ensuite, vas sur http://java.sun.com/products/jndi/tutorial/index.html
C'est en anglais, mais il y a dedans tout ce que tu cherches (catégorie Naming Directories).

Et si après tu cherches des infos sur le Single Sign-On (authentification centralisée, on se logue une seule fois on est authentifié partout), il faut regarder dans les docs de ton serveur.

Bon courage,
Petitemainate.
oO0OoO0Oo ><)))°> oO0OoO0OoO0Oo
0
himachalene Messages postés 2 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 7 avril 2006
7 avril 2006 à 22:26
salut,
je travailles sous eclipse,
je veux etablir dans un premier temps une connexion avec un systeme de fichier
mais il m'affiche tjrs connexion echouée !!!!
ou est le probleme???
voila mon code:
///////////////////////////////
package com.moi.test;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class MaConnexion {

public final static String initctx="com.sun.jndi.fscontext.RefFSContextFactory";
public final static String provider="C:/Documents and Settings/souhail/Bureau/fichier";

public static void main(String[] args) {

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,initctx);
env.put(Context.PROVIDER_URL ,provider);

try{
Context ctx = new InitialContext(env);
System.out.println("connexion effectuée..");

}

catch(NamingException e){
e.printStackTrace();
System.out.println("connexion echouée..");
}

}
}
////////////////////////////////////
merci a vous tous...
0
cs_petitemainate Messages postés 29 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 14 septembre 2009
11 avril 2006 à 16:32
hé hé hé, salut ^^
J'ai aussi essayé avec le système de fichiers et pareil, j'ai jamais réussi.
Alors j'avais lu un truc comme quoi il faut ajouter le jar fscontext et peut être un autre aussi (avec du courage on retrouve les fichiers qui manquent, recensés dans le JNDITutorial...)

Par contre, comme je voulais vraiment travailler avec LDAP et pas le système de fichier, je suis passée tout de suite au naming directory dans le tuto JNDI et là, je n'ai eu aucun problème à tout faire fonctionner.

Mais j'avoue que j'ai laissé tomber le système de fichier, parce que je n'ai pas bien compris ce qu'il manquait, comme toi, pour que ça fonctionne...

Petitemainate.

oO0OoO0Oo ><)))°> oO0OoO0OoO0Oo
0
samiaguedri Messages postés 2 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 16 août 2011
15 août 2011 à 23:38
bonjour petitemainate
si il vous plait pouviez vous m'aider, mon projet est identique à votre projet et je n'ai pas beaucoup de pour le faire
en fait j'ai crée une application java avec struts 2 et tamcat 6.0.36 et je peux ajouter, modifier, supprimer des objet depius l'annuaire LDAP et ja veux utiliser ces classe java dans un dymanic Web projet mais je ne sais pas comment faire.
l'autre question comment activer la valve Single Sign On de tomcat et pouviez vous m'expliquer comment définire le <REALM/> pour communiquer avec LDAP (server.xml)
Merci d'avance !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
5ou5a2012 Messages postés 14 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 23 juillet 2012
11 juil. 2012 à 14:56
j'ai ma classe connexion ldap/jndi:
*********************************************

package xtensus.ldap.ldif;

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;//encapsule la connexion vers l'annuaire
import javax.naming.event.*;//traitement des éléments en provance de l'annuaire

public class ConnexionLdap {

public static void main(String[] args) {
// Mettre en place l'environnement pour créer le contexte initial
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
// Specifier URL LDAP
env.put(Context.PROVIDER_URL, "ldap://192.168.198.131:389");
//Authentification
env.put(Context.SECURITY_AUTHENTICATION,"simple" );
env.put(Context.SECURITY_PRINCIPAL, "cn=admin,dc=xtensus,dc=com");
env.put(Context.SECURITY_CREDENTIALS, "ikhlass");
DirContext dirContext;

try {

dirContext = new InitialDirContext(env);

dirContext.close();

} catch (NamingException e) {

System.err.println("Erreur lors de l'acces au serveur LDAP" + e);

e.printStackTrace();

}
System.out.println("****connexion etablie******");
}

}

**********************************
après, dans chaque classe java je réécris la classe connexion puis j'ajoute la méthode que je veux(ajout/modif/supprime)objet ou attribut.
Le problème c'est que je cherche comment faire un fichier standard pour la connexion et comment séparer les méthodes de mon code.
Merci d'avance,
0
cs_petitemainate Messages postés 29 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 14 septembre 2009
11 juil. 2012 à 15:06
BONJOUR

Vous répondez à un sujet qui date de 2006...
Non seulement je ne me souviens plus du sujet, en prime je ne travaille plus en java, et j'imagine que depuis le temps les choses ont bien changé, donc je ne peux pas répondre à votre question.
Arrêtez de creuser plus profond, on ne répondra pas à un sujet qui a été déterré et créez votre propre sujet, merci.

Cordialement,
Petitemainate

oO0OoO0Oo ><)))°> oO0OoO0OoO0Oo
0
5ou5a2012 Messages postés 14 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 23 juillet 2012
11 juil. 2012 à 15:21
Bonjour,
excusez-moi je suis nouveau sur le forum et en plus j'ai trouvé une question depuis 2011 dans cette discussion.
Merci pour votre acceuil
0
Rejoignez-nous