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

Modules Perl Discussion :

Utilisation du module Net::LDAP::LDIF pour ajouter des données


Sujet :

Modules Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut Utilisation du module Net::LDAP::LDIF pour ajouter des données
    Bonjour !
    J'aurais voulu savoir si ce module pouvait etre utilisé pour ajouter des fichiers ldif sur mon serveur LDAP.
    Car d'apres ce que j'ai lu de la doc, il faut toujours donner tous les attributs lors d'un ajout.

    J'ai aussi regardé le module Net::LDAP::LDIF, mais je comprend pas trop comment effectuer l'ajout avec cette méthode.

    Si quelqu'un peut m'eclairer, je l en remercie

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    C'est très simple, en fait il te suffit de te connecter à ton serveur LDAP, puis d'utiliser le code d'example de Net::LDAP::LDIF pour obtenir les entrée à ajouter :
    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
     
    # connection à ton serveur, disons dans $ldap_server
     
     use Net::LDAP::LDIF;
     
     $ldif = Net::LDAP::LDIF->new( "file.ldif", "r", onerror => 'undef' );
     while( not $ldif->eof ( ) ) {
       $entry = $ldif->read_entry ( );
       if ( $ldif->error ( ) ) {
         print "Error msg: ", $ldif->error ( ), "\n";
         print "Error lines:\n", $ldif->error_lines ( ), "\n";
       } else {
         # do stuff : ICI TU AJOUTES LES ENTREES VALIDE A TON SERVEUR
         $ldap_server->add( $entry );
       }
     }
     $ldif->done ( );
     
    # déconnexion
    Pour que ce soit plus clair, je te conseille d'en faire une fonction.

    --
    Jedaï

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    merci Jedai !
    Juste une derniere petite question ^^

    G le message d'erreur qui apparait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't call method "eof" on an undefined value
    et j'ai codé de la facon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ldif = Net::LDAP::LDIF->new( FICHIER, "r", onerror => 'undef' );
    	while( not $ldif->eof () ) {
    		$entry = $ldif->read_entry ();
    		if ( $ldif->error ( ) ) {
    		print "Error msg: ", $ldif->error (), "\n";
    		print "Error lines:\n", $ldif->error_lines (), "\n";
    		}
    "FICHIER" provient de la commande suivante, executée au début de mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open (FICHIER, ">/tmp/$$.ldif");
    et je fais un close(FICHIER) après m'etre déconnécté de LDAP.
    Je pense que l'erreur vient de là, mais je suis pas bien sur ^^

    merci de ton aide

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu ne peux pas utiliser un handle de fichier ouvert en écriture pour lire ton fichier !!
    Utilise plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ldif = Net::LDAP::LDIF->new( "/tmp/$$.ldif", "r", onerror => 'undef' );
    Et ferme FICHIER avant.

    --
    Jedaï

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    Nickel !!
    Merci pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2013, 13h35
  2. Réponses: 0
    Dernier message: 14/03/2013, 15h36
  3. Réponses: 0
    Dernier message: 14/11/2011, 15h52
  4. Requête pour ajouter des données
    Par parasol007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/07/2008, 11h31
  5. [LDAP] problème pour récupérer des données
    Par Bizoo dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/04/2007, 09h09

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