IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

LDAP/JNDI - recherche du dn


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut LDAP/JNDI - recherche du dn
    Bonjour,

    J'aimerais afficher le dn de l'utilisateur connecté en parcourant l'arborescence.

    Est-ce que quelqu'un pourrait m'aider SVP?

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Salut,

    cela sera plus pratique. .....

    bon moi personnellement je n'utilise pas JNDI mais la classe Novell (plus pratique)

    1) La recherche ne dois pas posé de problème : Le scope SearchControls.SUBTREE_SCOPE permet une recherche sur l'annuaire.

    2) Tu pose un filtre sur la clé d'unicité de ton user (exple: uid=TOTO)

    3) la méthode getNameInNamespace(); devrait normalement te renvoyer le DN

  3. #3
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Salut beegood.

    Effectivement c'est plus pratique sur le forum.

    Je vais essayer de reconstituer le dn d'après tes informations.

    Par contre, j'ai un petit soucis avec mon enum. Peut-être que tu pourras m'aider...

    Voilà ce que j'ai codé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     public enum Scope {
       OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE;
     }
     
     public int getNumberScope (Scope scope) {
       int value = 0;
       switch (scope) {
         case OBJECT_SCOPE:
           value = 0;
           break;
         case ONELEVEL_SCOPE:
           value = 1;
           break;
         case SUBTREE_SCOPE:
           value = 2;
           break;
         }
         return value;
      }
    Le problème est que le paramètre de ma méthode getNumberScope est de type Scope et que ma variable qui se trouve dans mon fichier Properties est de type String.

    Y'a-t'il moyen de faire une conversion ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Je t'ai donné la solution
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Avec ce code jowo j'obtiens toujours la même erreur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .\src\ch\ldap\ClientLDAP.java:131: '}' expected
      OBJECT setSearchScope.OBJECT_SCOPE,
    Je comprends bien qu'il réclame une } mais mon but de cet enum est qu'il prenne également les autres lignes en compte.

  6. #6
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Pour être plus précise, lorsque je compile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public enum Scope {
        OBJECT setSearchScope.OBJECT_SCOPE,
        ONELEVEL setSearchScope.OBJECT_SCOPE,
        SUBTREE setSearchScope.SUBTREE_SCOPE
      }
    J'obtiens l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    \src\ch\ldap\ClientLDAP.java:131: '}' expected 
      OBJECT setSearchScope.OBJECT_SCOPE,
    Merci d'avance!

  7. #7
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public enum Scope {
        OBJECT 0,
        ONELEVEL 1,
        SUBTREE 2
      }
    si ça ne compile pas

    essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public enum Scope {
        OBJECT,
        ONELEVEL,
        SUBTREE
      }

    Pendant ce temps, je vais appendre à coder des enumes en Java.... [/code]
    Bien le bonjour chez vous
    Jowo

  8. #8
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    salut,

    désolé j'ai du partir en réunion .....

    as tu récupéré le DN ?

  9. #9
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Pas de problème beegood.

    Merci jowo pour tes infos. Le seul enum qui passe la compilation est celui-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public enum Scope { 
        OBJECT, 
        ONELEVEL, 
        SUBTREE 
      }

  10. #10
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Pas de problème beegood.

    Je ne me suis pas encore occupée de ce dn.

    J'ai un problème avec un enum que j'aimerais résoudre avant de chercher le dn.

  11. #11
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Merci beaucoup de ton aide beegood. Ca fonctionne maintenant très bien.

  12. #12
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    code sans garantie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    publisc enum Scope {
        OBJECT(setSearchScope.OBJECT_SCOPE),
        ONELEVEL(setSearchScope.OBJECT_SCOPE),
        SUBTREE(setSearchScope.SUBTREE_SCOPE); 
     
        Scope(int scopeLevel) {
            this.scopeLevel = scopeLevel;
        }
     
        private final int scopeLevel;
     
        public int scopeLevel() {
            return scopeLevel;
        } 
     
    /* Exemple d'usage */
    String roleParam = "SUBTREE";
     
    Scope role = Scole.valueOf(roleParam);
     
    searchCtls.setSearchScope (role.scopeLevel());
    Bon chance et surtout tiens bon
    Bien le bonjour chez vous
    Jowo

  13. #13
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    question, ne faut il pas être en java 1.5 pour utiliser le type enum ?

  14. #14
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    oui, beegood, il faut être en Java 1.5 pour utiliser enum.

    Sauf ereur, sangei est en Java 1.5.
    Bien le bonjour chez vous
    Jowo

  15. #15
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Oui oui je travaille bien avec Java 1.5

    Petite question jowo. Tu viens de me fournir très aimablement un code et moi quand j'utilise celui là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     private enum Scope {
        OBJECT,
        ONELEVEL,
        SUBTREE
      }
     
     String roleParam = roleSubtree;
          Scope role = Scope.valueOf(roleParam);
          searchCtls.setSearchScope (role.ordinal());
    Ca marche aussi.

    Quelle solution est la meilleure ?

  16. #16
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Si mon dernier code fonctionne, je l'utiliserai de préférence car il initialise correctement les valeurs de scope.

    La première solution s'appuie sur la valeur "cardinale" (pas sûr du terme) de l'énumération (premier terme vaut 0, deuxième vaut 1, etc...).
    Bien le bonjour chez vous
    Jowo

  17. #17
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Merci jowo. Je vais essayer ton nouveau code.

  18. #18
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    J'ai quelques petits soucis avec le getNameInNamespace()

    J'ai mis en place le filtre, la base de recherche et le scope, mais après je ne sais pas trop comment faire pour retrouver mon dn...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void getDn ()
      throws ch.ldap.ClientLDAPException {
        try {
          SearchControls searchCtls = new SearchControls();
          searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
          String searchBase = "dc=ecole, dc=ch";
          String searchFilter = "(&(uid=dupont))";
          NamingEnumeration answer = ctx.search (searchBase, searchFilter, searchCtls);
     
            String name = ctx.getNameInNamespace();
    Est-ce qu'une bonne âme pourrait m'aider SVP?

    Merci d'avance.

  19. #19
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Salut,

    tu récuperes quoi au juste avec lString name = ctx.getNameInNamespace();

    ?

    quel est ton soucis ?

    Merci

  20. #20
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 157
    Points : 43
    Points
    43
    Par défaut
    Salut beegood,

    Comment vas-tu?

    En fait, je ne sais pas trop ce que je récupère avec String name = ctx.getNameInNamespace();

    Mon soucis est que je ne sais pas trop comment utiliser cette méthode getNameInNamespace

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [JNDI] Recherche d'attribut dans un LDAP via le common name
    Par lachik dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 02/12/2014, 13h33
  2. [LDAP/JNDI] recherche des membres d'un groupe
    Par djidane39 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/03/2008, 17h22
  3. [Mail] LDAP-PHP / Recherche sur 2 branches "OU"
    Par Yoshi_da_f..k dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2006, 13h30
  4. [LDAP] JNDI authentification
    Par drKzs dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 26/07/2006, 16h21
  5. Openldap-JNDI - recherche
    Par sangei dans le forum API standards et tierces
    Réponses: 29
    Dernier message: 12/12/2005, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo