Ubuntu Manpages

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

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.

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

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

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

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