Lemonldap::NG::Common::Conf(3pm)

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

SYNOPSIS
  use Lemonldap::NG::Common::Conf;
  my $confAccess = new Lemonldap::NG::Common::Conf(
              {
                  type=>'File',
                  dirName=>"/tmp/",

                  # To use local cache, set :
                  localStorage => "Cache::FileCache",
                  localStorageOptions = {
                      'namespace' => 'lemonldap-ng',
                      '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();

DESCRIPTION
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.

  SUBROUTINES

•   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=1.2.3.4',
                        dbiUser => 'lemonldap'
                        dbiPassword => 'pass'
                        dbiTable => 'lmConfig',
                        });

    •   SOAP:
          $confAccess = new Lemonldap::NG::Common::Conf(
                        {
                        type => 'SOAP',
                        proxy => 'http://auth.example.com/index.pl/config',
                        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.

SEE ALSO
Lemonldap::NG::Handler, Lemonldap::NG::Portal, <http://lemonldap-ng.org/>

AUTHOR

Clement Oudot, <clem.oudot@gmail.com>
FranXois-Xavier Deltombe, <fxdeltombe@gmail.com.>
Xavier Guimard, <x.guimard@free.fr>
Sandro Cazzaniga, <cazzaniga.sandro@gmail.com>

BUG REPORT
Use OW2 system to report bug or ask for features: <http://jira.ow2.org>

DOWNLOAD
Lemonldap::NG is available at <http://forge.objectweb.org/project/showfiles.php?group_id=274>

COPYRIGHT AND LICENSE

Copyright (C) 2008, 2009, 2010 by Xavier Guimard, <x.guimard@free.fr>
Copyright (C) 2012 by Sandro Cazzaniga, <cazzaniga.sandro@gmail.com>
Copyright (C) 2012 by FranXois-Xavier Deltombe, <fxdeltombe@gmail.com.>
Copyright (C) 2009, 2010, 2011, 2012, 2013 by Clement Oudot, <clem.oudot@gmail.com>

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 <http://www.gnu.org/licenses/>.