Bonnes ID ~ Clément Oudot

Aller au contenu | Aller au menu | Aller à la recherche

Tag - perl

Fil des billets

lundi, juin 30 2008

Sortie de LemonLDAP::NG 0.9.2 et RMLL

Une nouvelle version de LemonLDAP::NG est sortie fin juin, apportant les changements suivants :

  • Nouvelle CSS dans le Manager (voir l'article dédié)
  • Création de "skins" pour le portail
  • Module de statut pour le handler et le portail
  • Différentes traductions
  • Refonte des modules d'authentification : chaque méthode a désormais son propre module Auth (AuthLDAP, AuthSSL, AuthLA, etc.)
  • Corrections des différents bugs

LemonLDAP::NG sera également présenté aux RMLL à travers le projet FederID : http://2008.rmll.info/FederID.html

Téléchargement :

Retrouvez ce projet sur Ohloh : http://www.ohloh.net/projects/lemonldap-ng/

lundi, mars 31 2008

Sortie de Perl-LDAP 0.35 et politique des mots de passe

Perl

Ce week-end une nouvelle version des bibliothèques Perl Net::LDAP est sortie en version 0.35, apportant un certain nombre d'améliorations (listées ici), dont un nouveau module dédié au contrôle LDAP Password Policy.

Rappelons que ce contrôle permet par exemple de bloquer des comptes suites à plusieurs authentifications ratées, de conserver un historique des mots de passe, d'avoir une taille minimale, de chiffrer à la volée, etc. Si vous souhaitez plus d'informations sur ce standard (qui n'en n'est pas vraiment un puisque la RFC n'est encore qu'un brouillon), vous trouverez une documentation ici.

L'installation se fait de manière très classique :

# perl Makefile.PL
# make
# make test
# make install

Ainsi, vous pouvez à présent dans vos programmes Perl récupérer les messages spécifiques de ce contrôle :

        use Net::LDAP;
        use Net::LDAP::Control::PasswordPolicy;
        use Net::LDAP::Constant qw( LDAP_CONTROL_PASSWORDPOLICY );

        $ldap = Net::LDAP->new( "ldap.example.com" );

        $pp = Net::LDAP::Control::PasswordPolicy->new;

        $mesg = $ldap->bind( "cn=Bob Smith,dc=example,dc=com",
                             password => "secret",
                             control => [ $pp ] );

        # Get password policy reponse
        my($resp)  = $mesg->control( LDAP_CONTROL_PASSWORDPOLICY );

        if (defined($resp)) {
          my $v = $resp->error;
          print "Password policy error $v\n" if defined $v;
          $v = $resp->time_before_expiration;
          print "Password expires in $v second(s)\n" if defined $v;
        }