Lemonldap::NG::Common::Conf(3) Perl extension written to manage Lemonldap::NG

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-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();

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.

AUTHOR

Clement Oudot, <[email protected]>
François-Xavier Deltombe, <[email protected].>
Xavier Guimard, <[email protected]>
Sandro Cazzaniga, <[email protected]>

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-2016 by Xavier Guimard, <[email protected]>
Copyright (C) 2012 by Sandro Cazzaniga, <[email protected]>
Copyright (C) 2012 by François-Xavier Deltombe, <[email protected].>
Copyright (C) 2009-2016 by Clement Oudot, <[email protected]>

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