29 mars

Apache Directory groovy-ldap

Services d'annuaire, LDAP de soutien (L D ightweight ÉPERTOIRE A ccès P rotocole) sont de plus en plus utilisé pour l'authentification dans les applications.

Comme il est facile avec la Java langage de script Groovy pour interroger un serveur LDAP, montre le projet Apache Directory, avec sa bibliothèque groovy-ldap .

Après le téléchargement et décompressez le fichier ZIP, il vous suffit d'inclure le fichier jar dans le classpath, puis le jeu peut commencer. Voici un exemple rapide:

  Une
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
  forfait de.koo.groovy.ldap

 importation org.apache.directory.groovyldap.LDAP
 org.apache.directory.groovyldap.SearchScope importation

 public class {ldapsearch
   privé LDAP conn;

   ldapsearch publique () {
     ( 'ldap://ldap.uno.edu:389' ) conn = LDAP newInstance ("ldap :/ / ldap.uno.edu: 389 ').
     conn != null ) assert (conn! = null)
     "connected" ) System.out.println ("connecté")
   }

   searchAny ( ) { searchAny public void () {
     / / Tous les étudiants
     try {
       filter: '(sn=*)' . (Sn = *) ': chaque entrée (conn filtre
                student -> , Base de: "ou = Etudiants, o = University of New Orleans, c = US") {étudiant ->  
         étudiant println. cn
       }    
     ( Exception e ) { } } Catch (Exception e) {}
   }

   searchWithName ( name ) { recherche public void avec le nom (nom) {
     conn. search ( "(sn=${name})" = Une conn étudiants def. De recherche ("(sn = $ {name})"
         , 'Ou = Etudiants, o = University of New Orleans, c = US "
         , Portée de la recherche. SUB)
     student -> étudiants chaque élève {-.>        
       étudiant println. cn
     }
   }

   isInLdap ( dn ) { public void isInLdap (dn) {
     / / Si il ya une entrée
     ( dn ) retourner conn. existe (dn)
   }

   read ( dn ) { public void lecture (dn) {
     / / Lire une seule entrée
     conn. read ( dn ) = Conn def étudiant. Lire (dn)
     "student.sn $ {} (mail: $ {} student.mail)" println

   }

   main ( args ) { public static void main (args) {
     LdapSearch ( ) Ls = ldapsearch ldapsearch nouvelle ()
     ls. searchAny ()
     "Fu" ) ls. de recherche avec le nom ("Fu")

     'cn=Erin Lee Sheehan,ou=Students,o=UNIVERSITY OF NEW ORLEANS,c=US' def dn = "cn = Erin Sheehan Lee, ou = Etudiants, o = University of New Orleans, c = US"
     ls. isInLdap ( dn ) ) ls. read ( dn ) if (Ls. isInLdap (dn)) ls. lire (dn)
   }
 } 

Sur la page wiki du projet et les articles de Groovy zone sont aussi des exemples pour ajouter, modifier et supprimer des entrées LDAP.
Une liste des serveurs LDAP publics pour les tests, il ya.

gklinkmann écrit par \ \ tags: , , ,

Ajouter un commentaire

Oui, je voudrais être notifié de commentaires!