Lemonldap::NG::Manager - Perl extension for managing Lemonldap::NG Web-SSO system.


  #!/usr/bin/env plackup -I pl/lib
  use Lemonldap::NG::Manager;
  # This must be the last instruction ! See PSGI for more


Lemonldap::NG::Manager provides a web interface to manage Lemonldap::NG Web-SSO system.

The Perl part of Lemonldap::NG::Manager is the REST server. Web interface is written in Javascript, using AngularJS framework and can be found in `site` directory. The REST API is described in file given in source tree.

Lemonldap::NG Manager uses Plack to be compatible with CGI, FastCGI,... It inherits of Lemonldap::NG::Handler::PSGI::Router


Lemonldap::NG Manager contains 4 parts:

Configuration management:

see Lemonldap::NG::Manager::Conf;

Session explorer:

see Lemonldap::NG::Manager::Sessions;

Notification explorer:

see Lemonldap::NG::Manager::Notifications;

Some files uses to generate static files:

see below.

Generation of static files

The `scripts/` file uses Lemonldap::NG::Manager::Build::Attributes, Lemonldap::NG::Manager::Build::Tree and Lemonldap::NG::Manager::Build::CTrees to generate


the main file that contains the tree view;


generates sub tree for virtualhosts and SAML and OpenID-Connect partners;


constants used by all Perl manager components;


constants used to read configuration.


You can use a hash ref to override any LemonLDAP::NG parameter. Currently, you can specify where your lemonldap-ng.ini file is:

  Lemonldap::NG::Manager->run( { confFile => '/path/to/lemonldap-ng.ini' } );

lemonldap-ng.ini parameters

You can override any configuration parameter in lemonldap-ng.ini, but some are required and can't be set to global configuration (as any Lemonldap::NG module, you can also fix them in $opts hash ref passed as argument to run() or new()).

  ;protection:     choose one of none, authenticate, manager as explain in
  ;                Lemonldap::NG::Handler::PSGI::Router doc.
  protection     = manager
  ;enabledModules: Modules to display. Default to `conf, sessions, notifications`
  enabledModules = conf, sessions, notifications
  ;logLevel:       choose one of error, warn, notice, info, debug
  ;                See Lemonldap::NG::Common::PSGI doc for more
  logLevel       = notice
  ;staticPrefix:   set here the URI path to static content
  ;                See Lemonldap::NG::Common::PSGI doc for more
  staticPrefix   = static/
  ;languages:      Available interface languages
  languages      = en, fr
  ;templateDir:    the path to the directory containing HTML templates
  ;                See Lemonldap::NG::Common::PSGI doc for more
  templateDir    = /usr/share/lemonldap-ng/manager/


Lemonldap::NG::Handler::Router, Lemonldap::NG::Portal, Plack, PSGI, Lemonldap::NG::Manager::Conf, Lemonldap::NG::Manager::Sessions, Lemonldap::NG::Manager::Notifications


Clement Oudot, <>
François-Xavier Deltombe, <>
Xavier Guimard, <>
Thomas Chemineau, <>


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