Lemonldap::NG::Common::Conf - Perl extension written to manage Lemonldap::NG Web-SSO configuration.


  use Lemonldap::NG::Common::Conf;
  my $confAccess = new Lemonldap::NG::Common::Conf(

                  # To use local cache, set :
                  localStorage => "Cache::FileCache",
                  localStorageOptions = {
                      'namespace' => 'lemonldap-ng-config',
                      'default_expires_in' => 600,
                      'directory_umask' => '007',
                      'cache_root' => '/tmp',
                      'cache_depth' => 5,
    ) or die "Unable to build Lemonldap::NG::Common::Conf, see Apache logs";
  my $config = $confAccess->getConf();


Lemonldap::NG::Common::Conf provides a simple interface to access to Lemonldap::NG Web-SSO configuration. It is used by Lemonldap::NG::Handler, Lemonldap::NG::Portal and Lemonldap::NG::Manager.


  • new (constructor): it takes different arguments depending on the chosen type. Examples:

    • File: $confAccess = new Lemonldap::NG::Common::Conf( { type => 'File', dirName => '/var/lib/lemonldap-ng/', });

    • DBI: $confAccess = new Lemonldap::NG::Common::Conf( { type => 'DBI', dbiChain => 'DBI:mysql:database=lemonldap-ng;host=', dbiUser => 'lemonldap' dbiPassword => 'pass' dbiTable => 'lmConfig', });

    • SOAP: $confAccess = new Lemonldap::NG::Common::Conf( { type => 'SOAP', proxy => '', proxyOptions => { timeout => 5, }, });

      SOAP configuration access is a sort of proxy: the portal is configured to use the real session storage type (DBI or File for example). See HTML documentation for more.

    • LDAP: $confAccess = new Lemonldap::NG::Common::Conf( { type => 'LDAP', ldapServer => 'ldap://localhost', ldapConfBranch => 'ou=conf,ou=applications,dc=example,dc=com', ldapBindDN => 'cn=manager,dc=example,dc=com", ldapBindPassword => 'secret' });

    WARNING: You have to use the same storage type on all Lemonldap::NG parts in the same server.

  • getConf: returns a hash reference to the configuration. it takes a hash reference as first argument containing 2 optional parameters:

    • cfgNum = $number>: the number of the configuration wanted. If this argument is omitted, the last configuration is returned.

    • fields = [array of names]: the desired fields asked. By default, getConf returns all (select * from lmConfig).

  • saveConf: stores the Lemonldap::NG configuration passed in argument (hash reference). it returns the number of the new configuration.


Lemonldap::NG::Handler, Lemonldap::NG::Portal,


Clement Oudot, <>
François-Xavier Deltombe, <>
Xavier Guimard, <>
Sandro Cazzaniga, <>


Use OW2 system to report bug or ask for features:


Lemonldap::NG is available at


This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see