Documentation applicable for LemonLDAP::NG
@@ -306,6 +308,10 @@
Reset password by mail
(en)
+
+ Create and use custom
+ functions (en)
Application
@@ -519,6 +525,27 @@
"http://linagora.org/contrib/annuaires/formations/websso_lemonldap_ng">The
WebSSO LemonLDAP::NG (LINAGORA) (fr)
+
+ CPAN Tester
+ Reports
+
+
diff --git a/build/lemonldap-ng/doc/3.1-Install-prerequesites.html b/build/lemonldap-ng/doc/3.1-Install-prerequesites.html
index 130c18a28..24f2b4a2e 100644
--- a/build/lemonldap-ng/doc/3.1-Install-prerequesites.html
+++ b/build/lemonldap-ng/doc/3.1-Install-prerequesites.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 3.1-Install-prerequesites.html
diff --git a/build/lemonldap-ng/doc/3.2-Install-from-tarball.html b/build/lemonldap-ng/doc/3.2-Install-from-tarball.html
index 469df3424..c9ce90245 100644
--- a/build/lemonldap-ng/doc/3.2-Install-from-tarball.html
+++ b/build/lemonldap-ng/doc/3.2-Install-from-tarball.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 3.2-Install-from-tarball.html
@@ -208,6 +208,9 @@ $ sudo make install PARAM=VALUE PARAM=VALUE ...
PREFIX: installation directory (default: /usr/local)
+ STORAGECONFFILE: location of default storage configuration file
+ (default: /usr/local/lemonldap-ng/etc/storage.conf)
+
CRONDIR: Cronfile directory (default:
$PREFIX/etc/lemonldap-ng/cron.d)
diff --git a/build/lemonldap-ng/doc/3.3-Install-from-debian-packages.html b/build/lemonldap-ng/doc/3.3-Install-from-debian-packages.html
index d75886cf8..8306d1c46 100644
--- a/build/lemonldap-ng/doc/3.3-Install-from-debian-packages.html
+++ b/build/lemonldap-ng/doc/3.3-Install-from-debian-packages.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
3.3-Install-from-debian-packages.html
diff --git a/build/lemonldap-ng/doc/3.3-Install-from-redhat-packages.html b/build/lemonldap-ng/doc/3.3-Install-from-redhat-packages.html
index 1b41d5d06..c72e64aca 100644
--- a/build/lemonldap-ng/doc/3.3-Install-from-redhat-packages.html
+++ b/build/lemonldap-ng/doc/3.3-Install-from-redhat-packages.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
3.3-Install-from-redhat-packages.html
diff --git a/build/lemonldap-ng/doc/3.3-Install-from-suse-packages.html b/build/lemonldap-ng/doc/3.3-Install-from-suse-packages.html
index 05edeb4ab..5edec24ab 100644
--- a/build/lemonldap-ng/doc/3.3-Install-from-suse-packages.html
+++ b/build/lemonldap-ng/doc/3.3-Install-from-suse-packages.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
3.3-Install-from-suse-packages.html
diff --git a/build/lemonldap-ng/doc/3.4-Install-of-MySQL-storage.html b/build/lemonldap-ng/doc/3.4-Install-of-MySQL-storage.html
deleted file mode 100644
index 2547ff8b3..000000000
--- a/build/lemonldap-ng/doc/3.4-Install-of-MySQL-storage.html
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation:
- 3.4-Install-of-MySQL-storage.html
-
-
-
-
-
-
-
Use of
- MySQL for configuration storage
-
-
-
-
-
-
MySQL
- configuration
-
-
Remark: we advice
- to create a specific user/password in MySQL for LemonLDAP::NG, with rights
- on ist database.
-
-
Database
- creation
-
- For example, create the database "lemonldap-ng" :
-
-
-
-
-# mysqladmin create lemonldap-ng
-
-
-
-
Configuration
- table
-
- To store configuration, use this table creation instruction:
-
-
-
-
-CREATE TABLE lmConfig (
- cfgNum int not null primary key,
- locationRules text,
- exportedHeaders text,
- globalStorage text,
- globalStorageOptions text,
- macros text,
- groups text,
- portal text,
- domain text,
- ldapServer text,
- ldapPort int,
- ldapBase text,
- securedCookie int,
- cookieName text,
- authentication text,
- exportedVars text,
- managerDn text,
- managerPassword text,
- whatToTrace text,
- timeout int
- );
-
-
-
-
LemonLDAP::NG configuration
-
-
Default
- configuration
-
-
You can set this directly in
storage.conf:
-
-
-
-
-
-type = DBI
-dbiChain = DBI:mysql:database=lemonldap-ng;host=1.2.3.4
-dbiUser = lemonldap
-dbiPassword = password
-dbiTable = lmConfig
-
-
-
-
Override configStorage
- for LemonLDAP::NG modules
-
-
Edit for example
portal/index.pl or
handler/MyHandler.pm:
-
-
-
-configStorage => {
- type => "DBI",
- dbiChain => "dbi:mysql:...",
- dbiUser => "lemonldap",
- dbiPassword => "password",
- dbiTable => "lmConfig",
- },
-
-
-
-
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.1-Configuration-overview.html b/build/lemonldap-ng/doc/4.1-Configuration-overview.html
index a5484b238..544f90218 100644
--- a/build/lemonldap-ng/doc/4.1-Configuration-overview.html
+++ b/build/lemonldap-ng/doc/4.1-Configuration-overview.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.1-Configuration-overview.html
diff --git a/build/lemonldap-ng/doc/4.1-Configuration-parameter-list.html b/build/lemonldap-ng/doc/4.1-Configuration-parameter-list.html
index 3b6e45c68..1b5d35c19 100644
--- a/build/lemonldap-ng/doc/4.1-Configuration-parameter-list.html
+++ b/build/lemonldap-ng/doc/4.1-Configuration-parameter-list.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.1-Configuration-parameter-list.html
@@ -78,6 +78,9 @@
SMTP (reset password by
mail)
+
+ Templates
+ customization
@@ -86,15 +89,22 @@
configuration (Portal only)
@@ -128,13 +138,47 @@ keyname => 'value',
- The key name can also be seen when you access directly to the
- configuration backend (for example with an LDAP browser if you choose the
- LDAP
- configuration backend).
+ WARNING: if you modify these files,
+ updates will potentially erase your local modifications. You can choose to
+ copy the provided .pl file and override configuration in the new file, not
+ known from package, so not erased on updates.
- When a key name contains one or more /, it means that it's multi-level
- hash map. For example level1Key / level2Key will be used as:
+ For example to fork the portal page:
+
+
+
+# cp portal/index.pl portal/indexcustom.pl
+
+
+
+ And adapt apache configuration to server your file instead of default
+ file:
+
+
+
+# vi /etc/lemonldap-ng/apache2.conf
+
+
+
+
+
+
+<VirtualHost *>
+ ServerName auth.example.com
DocumentRoot /usr/local/lemonldap-ng/htdocs/portal/
+ DirectoryIndex indexcustom.pl
# Other configuration parameters
+</VirtualHost>
+
+
+
+ The key name can also be seen when you access
+ directly to the configuration backend (for example with an LDAP browser if
+ you choose the LDAP configuration
+ backend).
+
+ When a key name contains one or more /, it means
+ that it's multi-level hash map. For example level1Key / level2Key will be
+ used as:
@@ -348,6 +392,26 @@ level1Key => { level2Key => 'value' },
|
+
+
+ Issuer backend |
+
+ issuerDB |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
Common
@@ -555,6 +619,26 @@ level1Key => { level2Key => 'value' },
+ Cookie expiration |
+
+ cookieExpiration |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
+
Attributes from user backend |
exportedVars |
@@ -574,7 +658,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Local groups |
groups |
@@ -594,7 +678,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Macros |
macros |
@@ -614,7 +698,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Session lifetime for cronjob |
timeout |
@@ -634,7 +718,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Syslog facility |
syslog |
@@ -654,7 +738,7 @@ level1Key => { level2Key => 'value' },
|
-
+
SOAP activation |
Soap |
@@ -674,7 +758,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Attributes exported in SOAP |
exportedAttr |
@@ -694,7 +778,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Store password in session |
storePassword |
@@ -714,7 +798,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Notification activation |
notification |
@@ -734,7 +818,7 @@ level1Key => { level2Key => 'value' },
|
-
+
Trusted domains |
trustedDomains |
@@ -754,6 +838,26 @@ level1Key => { level2Key => 'value' },
|
+
+ Rule for session granting |
+
+ grantSessionRule |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
Portal object in Menu |
@@ -1221,26 +1325,6 @@ level1Key => { level2Key => 'value' },
- Mail subject |
-
- mailSubject |
-
- 0.9.4 |
-
- No |
-
- X |
-
- |
-
- |
-
- |
-
- |
-
-
-
Regexp for random password |
randomPasswordRegexp |
@@ -1260,8 +1344,28 @@ level1Key => { level2Key => 'value' },
|
+
+ Subject for password mail |
+
+ mailSubject |
+
+ 0.9.4 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
- Body of the mail |
+ Body for password mail |
mailBody |
@@ -1279,12 +1383,266 @@ level1Key => { level2Key => 'value' },
|
+
+
+ Subject for confirmation mail |
+
+ mailConfirmSubject |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
+
+ Body for confirmation mail |
+
+ mailConfirmBody |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
+
+ URL for mail reset |
+
+ mailUrl |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+ |
+
+ |
+
+ |
+
+ |
+
+
+
+ Note: setting mailBody and mailConfirmBody
+ will disable the use of default HTML templates.
+
+ Templates
+ customization
+
+
+
+
+ Full name |
+
+ Key name |
+
+ Version |
+
+ GUI |
+
+ Portal |
+
+
+
+ Skin name |
+
+ portalSkin |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Display logout module |
+
+ portalDisplayLogout |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Display reset password form |
+
+ portalDisplayResetPassword |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Display change password module |
+
+ portalDisplayChangePassword |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Display applications list |
+
+ portalDisplayAppslist |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Allow form autocompletion |
+
+ portalAutocomplete |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Require old password (change) |
+
+ portalRequireOldPassword |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ User name session field |
+
+ portalUserAttr |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
+
+
+ Open links in new window |
+
+ portalOpenLinkInNewWindow |
+
+ 0.9.5 |
+
+ No |
+
+ X |
+
Authentication configuration
(Portal only)
+
Common
+
+
+
+
+ Full name |
+
+ Key name |
+
+ Version |
+
+ GUI |
+
+
+
+ Delete other session |
+
+ singleSession |
+
+ 0.9.5 |
+
+ No |
+
+
+
+ Delete other session if IP deffer |
+
+ singleIP |
+
+ 0.9.5 |
+
+ No |
+
+
+
+ Do not allow several users for 1 IP |
+
+ singleUserByIP |
+
+ 0.9.5 |
+
+ No |
+
+
+
+ Display other sessions |
+
+ notifyOther |
+
+ 0.9.5 |
+
+ No |
+
+
+
+ Display deleted sessions |
+
+ notifyDeleted |
+
+ 0.9.5 |
+
+ No |
+
+
+
LDAP
@@ -1300,7 +1658,7 @@ level1Key => { level2Key => 'value' },
- Server |
+ LDAP server or Net::LDAP connexion string |
ldapServer |
@@ -1310,7 +1668,7 @@ level1Key => { level2Key => 'value' },
- Port |
+ LDAP Port |
ldapPort |
@@ -1320,7 +1678,7 @@ level1Key => { level2Key => 'value' },
- Search base |
+ LDAP search base |
ldapBase |
@@ -1450,6 +1808,131 @@ level1Key => { level2Key => 'value' },
+
DBI
+
+
+
+
+ Full name |
+
+ Key name |
+
+ Version |
+
+
+
+ Connection chain |
+
+ dbiAuthChain |
+
+ 0.9.5 |
+
+
+
+ Connection user |
+
+ dbiAuthUser |
+
+ 0.9.5 |
+
+
+
+ Connection password |
+
+ dbiAuthPassword |
+
+ 0.9.5 |
+
+
+
+ Authentication table |
+
+ dbiAuthTable |
+
+ 0.9.5 |
+
+
+
+ Login column |
+
+ dbiAuthLoginCol |
+
+ 0.9.5 |
+
+
+
+ Password column |
+
+ dbiAuthPasswordCol |
+
+ 0.9.5 |
+
+
+
+ Password hash |
+
+ dbiAuthPasswordHash |
+
+ 0.9.5 |
+
+
+
+ UserDB connection chain |
+
+ dbiUserChain |
+
+ 0.9.5 |
+
+
+
+ UserDB connection user |
+
+ dbiUserUser |
+
+ 0.9.5 |
+
+
+
+ UserDB connection password |
+
+ dbiUserPassword |
+
+ 0.9.5 |
+
+
+
+ UserDB table |
+
+ dbiUserTable |
+
+ 0.9.5 |
+
+
+
+ Mail column |
+
+ dbiPasswordMailCol |
+
+ 0.9.5 |
+
+
+
+ Pivot from auth table |
+
+ authPivot |
+
+ 0.9.5 |
+
+
+
+ Pivot from user table |
+
+ userPivot |
+
+ 0.9.5 |
+
+
+
SSL
@@ -1595,8 +2078,9 @@ level1Key => { level2Key => 'value' },
-
Liberty
- Alliance
+
Liberty Alliance (will be
+ replaced by SAML in 0.9.5)
@@ -1699,8 +2183,42 @@ level1Key => { level2Key => 'value' },
No |
-
+
+
+
+
+
+
+ Full name |
+
+ Key name |
+
+ Version |
+
+ GUI |
+
+
+
+ twitter application key |
+
+ twitterKey |
+
+ 0.9.5 |
+
+ No* |
+
+
+
+ twitter application secret |
+
+ twitterSecret |
+
+ 0.9.5 |
+
+ No* |
+
+
diff --git a/build/lemonldap-ng/doc/4.1-Configure-portal-menu.html b/build/lemonldap-ng/doc/4.1-Configure-portal-menu.html
deleted file mode 100644
index e39d666cc..000000000
--- a/build/lemonldap-ng/doc/4.1-Configure-portal-menu.html
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation: 4.1-Configure-portal-menu.html
-
-
-
-
-
-
-
-
-
-
-
Documentation applicable for LemonLDAP::NG
- >= 0.9.3
-
-
Presentation
-
-
Menu is a new Portal module providing these
- functionalities:
-
-
- - Display an application list to the connected user, with possibility
- to hide applications he did not have access to.
-
- - Provide a simple "change password" form that respect Password Policy
- LDAP draft.
-
- - Logout with confirmation.
-
-
-
-
-
With a 0.9.3 fresh installation, the default
- portal/index.pl enables the menu. For the others, add this to the perl
- code:
-
-
-
-
-
-if ( $portal->process() ) {
# HTML::Template object creation
- my $template = HTML::Template->new(
- filename => "$skin_dir/$skin/menu.tpl",
- die_on_bad_params => 0,
- cache => 0,
- filter => sub { $portal->translate_template(@_) }
- );
# Menu creation
- use Lemonldap::NG::Portal::Menu;
- my $menu = Lemonldap::NG::Portal::Menu->new(
- {
- portalObject => $portal,
- apps => {
- xmlfile => "$appsxmlfile",
- imgpath => "$appsimgpath",
- },
- modules => {
- appslist => 1,
- password => USER_CAN_CHANGE_PASSWORD,
- logout => DISPLAY_LOGOUT,
- },
- # CUSTOM FUNCTION : if you want to create customFunctions in rules, declare them here
- #customFunctions => 'function1 function2',
- }
- );
$template->param( AUTH_USER => $portal->{sessionInfo}->{$user_attr} );
- $template->param( AUTOCOMPLETE => AUTOCOMPLETE );
- $template->param( SKIN => $skin )
- $template->param( AUTH_ERROR => $menu->error );
- $template->param( AUTH_ERROR_TYPE => $menu->error_type );
- $template->param( DISPLAY_APPSLIST => $menu->displayModule("appslist") );
- $template->param( DISPLAY_PASSWORD => $menu->displayModule("password") );
- $template->param( DISPLAY_LOGOUT => $menu->displayModule("logout") );
- $template->param( DISPLAY_TAB => $menu->displayTab );
- $template->param( LOGOUT_URL => "$ENV{SCRIPT_NAME}?logout=1" );
- $template->param( REQUIRE_OLDPASSWORD => REQUIRE_OLDPASSWORD );
- if ( $menu->displayModule("appslist") ) {
- $template->param( APPSLIST_MENU => $menu->appslistMenu );
- $template->param( APPSLIST_DESC => $menu->appslistDescription );
- }
print $portal->header('text/html; charset=utf8');
- print $template->output;
-}
-
-
-
-
Set the
- visibility of each modules
-
-
In the source code of the portal, you have :
-
-
-
-
-
-modules => {
- appslist => 1,
- password => USER_CAN_CHANGE_PASSWORD,
- logout => DISPLAY_LOGOUT,
- },
-
-
-
-
"1" means the module is always displayed, and "0"
- means never. But you can adapt it to the user profile, for example display
- the password modification form only to user with employeeType equal to
- "internal" :
-
-
-
-
-
-modules => {
- appslist => 1,
- password => '$employeeType =~ /binternalb/',
- logout => DISPLAY_LOGOUT,
- },
-
-
-
-
Configure
- applications list
-
-
DTD
-
-
The XML applications list must respect this DTD:
-
-
-
-
-
-<!ELEMENT menu (category*) >
<!ELEMENT category (application*, category*) >
-<!ATTLIST category name CDATA #REQUIRED >
<!ELEMENT application (name, uri?, description?, logo?, screenshot?, display?) >
-<!ATTLIST application id ID #REQUIRED >
<!ELEMENT name ( #PCDATA ) >
-<!ELEMENT uri ( #PCDATA ) >
-<!ELEMENT description ( #PCDATA ) >
-<!ELEMENT logo ( #PCDATA ) >
-<!ELEMENT screenshot ( #PCDATA ) >
-<!ELEMENT display ( #PCDATA ) >
-
-
-
-
Parameters
- definition
-
-
- - Category:
-
-
- - Name of the category (required)
-
-
-
- - Application:
-
-
- - ID: unique id of the application inside XML file
- (required).
-
- - Name: friendly name of the applications (required).
-
- - URI: full URI of the application, with http(s)://, and path,
- page, etc.
-
- - Description: description of the application.
-
- - Logo: file name of the logo.
-
- - Screenshot: file name of the screenshot.
-
- - Display:
-
-
- - "auto": display application only if the user has access to
- it.
-
- - "on": always display.
-
- - "off": never display.
-
-
-
-
-
The menu must contains at least one category. Each category can
- contain applications and categories. An application cannot contain a
- category. An application must be inside a category.
-
-
Sample XML
- file
-
-
Now you can configure your applications list, in
- /etc/lemonldap-ng/apps-list.xml. For example:
-
-
-
-
-
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE menu SYSTEM "apps-list.dtd">
-<menu>
- <category name="Business">
- <application id="aaa">
- <name>AAA</name>
- <uri>http://test.ow2.org/aaa</uri>
- <description>AAA description</description>
- <logo>aaa-logo.gif</logo>
- <display>auto</display>
- </application>
- <application id="bbb">
- <name>BBB</name>
- <uri>http://test.ow2.org/bbb/login.do</uri>
- <description>BBB description</description>
- <logo>bbb-logo.gif</logo>
- <display>on</display>
- </application>
- </category>
- <category name="Technical">
- <category name="Directories">
- <application id="pla">
- <name>phpLDAPAdmin</name>
- <uri>http://phpldapadmin.ow2.org</uri>
- <description>LDAP directory administration</description>
- <logo>pla-logo.gif</logo>
- <display>auto</display>
- </application>
- </category>
- <category name="Application servers">
- <application id="probe">
- <name>Probe</name>
- <uri>http://probe.ow2.org</uri>
- <description>Tomcat stats</description>
- <logo>probe-logo.gif</logo>
- <display>auto</display>
- </application>
- </category>
- </category>
-</menu>
-
-
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.1-HTML-templates-customization.html b/build/lemonldap-ng/doc/4.1-HTML-templates-customization.html
deleted file mode 100644
index 585784201..000000000
--- a/build/lemonldap-ng/doc/4.1-HTML-templates-customization.html
+++ /dev/null
@@ -1,340 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation:
- 4.1-HTML-templates-customization.html
-
-
-
-
-
-
-
Portal HTML
- templates design
-
-
-
-
Documentation applicable for LemonLDAP::NG
- >= 0.9.3
-
-
LemonLDAP::NG skins
- and HTML::Template Perl module
-
-
LemonLDAP::NG templates are designed for
-
HTML::Templates
- Perl module.
-
-
LemonLDAP::NG portal use "skins", located in the
- skins/ directory of the portal. Each skin is a particular directory, for
- example skins/pastel/ for the provided skin.
-
-
Here is the list of required template files:
-
-
- - login.tpl: template for the login page.
-
- - menu.tpl: template for the menu page.
-
- - error.tpl: template for the error page.
-
- - header.tpl: common header (included in above templates).
-
- - footer.tpl: common footer (included in above templates).
-
- - notification.tpl: template to display notifications.
-
- - password.tpl: template for the password modification tab.
-
Each template include a CSS file, named "styles.css".
-
-
Icons and javascripts are in skins/common/.
-
-
To create your own skin, just copy the default
- skin to another directory (eg.: skins/myskin/) and edit templates and CSS
- files. Advanced customization can be done by editing the portal/index.pl.
-
-
Templates
- configuration
-
-
In portal/index.pl, you can find some
- configuration variables:
-
-
- - XWiki.MySkin: name of the skin (ex: "pastel")
-
- - $skin_dir: full system path to skins
-
- - $appsxmlfile: application XML file (learn more)
-
- - $appsimgpath: web path to application logos
-
- - $user_attr: session attribute to display as connected user (ex:
- "uid")
-
- - USER_CAN_CHANGE_PASSWORD: constant to enable the password
- modification tab
-
- - REQUIRE_OLDPASSWORD: constant to display the "old password"
- field
-
- - DISPLAY_LOGOUT: constant to display the logout tab
-
- - AUTOCOMPLETE: constant to set the autocomplete tag in forms (default
- to "on").
-
- - DISPLAY_RESETPASSWORD: constant to display the "reset password"
- form.
-
And in Menu constructor, you can use condition for tab display
- (
learn
- more)
-
-
Templates variables
- provided by portal/index.pl
-
-
When you edit/create a template file, you can use
- some variables provided by the portal script. Of course, you can add
- variables by editing the portal/index.pl.
-
-
Common
- variables
-
-
- - AUTH_ERROR: error text returned by the portal.
-
- - AUTH_ERROR_TYPE: type of the error:
-
-
- - positive: the action was successful;
-
- - negative: a problem occured;
-
- - warning: not a fatal error, need user action.
-
-
-
- - REQUIRE_OLDPASSWORD: boolean to display "old password" field
-
- - DISPLAY_PASSWORD: boolean to display the password tab
-
- - AUTOCOMPLETE: "on" or "off" to enable/disable autocomplete in
- forms
-
- - SKIN: name of the skin
-
-
-
login.tpl
- specific variables
-
-
- - AUTH_URL: URL submitted for redirection
-
- - DISPLAY_FORM: set to 1 if a form can be displayed
-
- - LOGIN: submitted login
-
- - DISPLAY_RESETPASSWORD: boolean to display the "reset password"
- form
-
-
-
-
-
- - LOGOUT_URL: URL for logout
-
- - DISPLAY_APPSLIST: boolean to display the appslist tab
-
- - DISPLAY_LOGOUT: boolean to display the logout tab
-
- - DISPLAY_TAB: name of the pre-selected tab
-
- - APPSLIST_MENU: html code of appslist menu div
-
- - APPSLIST_DESC: html code of appslist description divs
-
- - AUTH_USER: identity of connected user
-
-
-
notification.tpl specific
- variables
-
-
- - NOTIFICATION: content of notifications (HTML code)
-
-
-
Template
- structure
-
-
The default LemonLDAP::NG template follow this
- structure:
-
-
- - html
-
-
- - body
-
-
- - div id=page
-
-
- - div id=header
-
- - (html content)
-
- - div id=footer
-
-
-
-
-
-
-
-
-
Internationalization (i18n)
-
-
LemonLDAP::NG portal is able to display an HTML
- template according to the user's browser language.
-
-
In order to work, you have to set inside the
- template the translations of all displayed text. Error message translation
- is already done inside LemonLDAP::NG Portal module.
-
-
Example
- of mono-lingual template
-
-
-
-
-
-<p><label>Login</label>
-<input name="user" type="text" size="30" />
-</p>
-
-
-
-
The string "Login" is set in the template and
- will not be translated.
-
-
Example of multi-lingual
- template
-
-
-
-
-
-<p><label><lang en="Login" fr="Identifiant" /></label>
-<input name="user" type="text" size="30" />
-</p>
-
-
-
-
The markup <lang> will be catched by
- LemonLDAP::NG and only the wanted translation will be displayed. If the
- user's language has no corresponding translation, the first translation is
- selected. So you can set your default language by choosing the first
- translation ("en" in the above example).
-
-
Warning: don't
- forget the quotes and the trailing slash of the markup!
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.1-RBAC-model.html b/build/lemonldap-ng/doc/4.1-RBAC-model.html
index 3f2d26b10..34dfa4e3a 100644
--- a/build/lemonldap-ng/doc/4.1-RBAC-model.html
+++ b/build/lemonldap-ng/doc/4.1-RBAC-model.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.1-RBAC-model.html
@@ -221,7 +221,16 @@ Auth-Roles => $bbbRoles
Now the protected application can read in the header HTTP_AUTH_ROLES the
- role of the user.
+ role of the user.
+
+ Note: if you have more than one role for
+ an application, you can join those roles with a separator (ex: ||):
+
+
+
+aaaRole => join(' || ', (map {/uid=(.*),ou=aaa.*/} (grep{/ou=aaa/} split(';',$ssoRoles)))
+
+
diff --git a/build/lemonldap-ng/doc/4.2-Configure-password-policy.html b/build/lemonldap-ng/doc/4.2-Configure-password-policy.html
deleted file mode 100644
index 065aeab43..000000000
--- a/build/lemonldap-ng/doc/4.2-Configure-password-policy.html
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation:
- 4.2-Configure-password-policy.html
-
-
-
-
-
-
-
Using Password
- Policy
-
-
-
-
Documentation applicable for LemonLDAP::NG
- >= 0.9.1
-
-
The Password
- Policy Standard
-
-
Password Policy is still now a draft of an LDAPv3
- extension and can be read here:
- https://opends.dev.java.net/public/standards/draft-behera-ldap-password-policy.txt
- (en). Some LDAP servers implements it, like OpenLDAP and its ppolicy
- overlay.
-
-
Prerequisites
-
-
Compliant LDAP
- server
-
-
Your LDAP server must provide the LDAP Password
- Policy Control (OID: 1.3.6.1.4.1.42.2.27.8.5.1).
-
-
Documentation on how to set ppolicy in OpenLDAP
- can be found here:
- http://www.linagora.org/contrib/annuaires/documentations/overlay_ppolicy_openldap
- (fr).
-
-
Perl Net::LDAP
- module
-
-
The Net::LDAP::Control::PasswordPolicy is
- available since Perl-LDAP 0.36. But some bugs relative to this modules wer
- found, so we advice to take at leaste 0.39. Please update your Perl
- installation if you want to deal with Password Policy in LemonLDAP::NG:
-
http://ldap.perl.org/ (en).
-
-
Password Policy in
- LemonLDAP::NG
-
-
The Password Policy functionality is available
- since LemonLDAP::NG 0.9.1. It allows to display on the portal page 2 new
- error messages:
-
-
- - Your account is locked
-
- - Your password has expired
-
Since LemonLDAP:NG 0.9.3, password policy is also used in menu, with
- the password changement form. It handles the following errors:
-
-
- - Password too short
-
- - Password in history
-
- - Password too young
-
LemonLDAP::NG also notify the user for:
-
-
- - Password expiration time
-
- - Password graces used
-
Since LemonLDAP:NG 0.9.4, password policy can be used to force
- password change is the password was reset (attribute pwdReset: TRUE in
- user entry).
-
-
To activate Password Policy, you have to set a
- new parameter inside you portal perl script (e.g. portal/index.pl), like:
-
-
-
-
-
-#!/usr/bin/perl
use Lemonldap::NG::Portal::SharedConf;
my $portal = Lemonldap::NG::Portal::SharedConf->new(
- {
- configStorage => {
- type => 'File',
- dirName => '/var/lib/config',
- },
- ldapPpolicyControl => 1,
- }
-);
-
-
-
-
See also
-
-
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.2-Configure-portal-menu.html b/build/lemonldap-ng/doc/4.2-Configure-portal-menu.html
index 897d1825a..9966a8026 100644
--- a/build/lemonldap-ng/doc/4.2-Configure-portal-menu.html
+++ b/build/lemonldap-ng/doc/4.2-Configure-portal-menu.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.2-Configure-portal-menu.html
diff --git a/build/lemonldap-ng/doc/4.2-HTML-templates-customization.html b/build/lemonldap-ng/doc/4.2-HTML-templates-customization.html
index a8c040508..eb96a39be 100644
--- a/build/lemonldap-ng/doc/4.2-HTML-templates-customization.html
+++ b/build/lemonldap-ng/doc/4.2-HTML-templates-customization.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.2-HTML-templates-customization.html
diff --git a/build/lemonldap-ng/doc/4.3-Configure-SOAP-fr.html b/build/lemonldap-ng/doc/4.3-Configure-SOAP-fr.html
deleted file mode 100644
index 279ead3ce..000000000
--- a/build/lemonldap-ng/doc/4.3-Configure-SOAP-fr.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation: 4.3-Configure-SOAP-fr.html
-
-
-
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.3-File-configuration-backend.html b/build/lemonldap-ng/doc/4.3-File-configuration-backend.html
index fc1ffb59a..fae4726f2 100644
--- a/build/lemonldap-ng/doc/4.3-File-configuration-backend.html
+++ b/build/lemonldap-ng/doc/4.3-File-configuration-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.3-File-configuration-backend.html
diff --git a/build/lemonldap-ng/doc/4.3-LDAP-configuration-backend.html b/build/lemonldap-ng/doc/4.3-LDAP-configuration-backend.html
index 8900acce2..cedb3306a 100644
--- a/build/lemonldap-ng/doc/4.3-LDAP-configuration-backend.html
+++ b/build/lemonldap-ng/doc/4.3-LDAP-configuration-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.3-LDAP-configuration-backend.html
diff --git a/build/lemonldap-ng/doc/4.3-MySQL-configuration-backend.html b/build/lemonldap-ng/doc/4.3-MySQL-configuration-backend.html
index b8f7a3996..6dc86e75d 100644
--- a/build/lemonldap-ng/doc/4.3-MySQL-configuration-backend.html
+++ b/build/lemonldap-ng/doc/4.3-MySQL-configuration-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.3-MySQL-configuration-backend.html
diff --git a/build/lemonldap-ng/doc/4.3-SOAP-configuration-backend.html b/build/lemonldap-ng/doc/4.3-SOAP-configuration-backend.html
index 3e2464cda..96c49b72f 100644
--- a/build/lemonldap-ng/doc/4.3-SOAP-configuration-backend.html
+++ b/build/lemonldap-ng/doc/4.3-SOAP-configuration-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.3-SOAP-configuration-backend.html
diff --git a/build/lemonldap-ng/doc/4.4-File-session-backend.html b/build/lemonldap-ng/doc/4.4-File-session-backend.html
index 4fded9a3b..47f3fc259 100644
--- a/build/lemonldap-ng/doc/4.4-File-session-backend.html
+++ b/build/lemonldap-ng/doc/4.4-File-session-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.4-File-session-backend.html
diff --git a/build/lemonldap-ng/doc/4.4-LDAP-session-backend.html b/build/lemonldap-ng/doc/4.4-LDAP-session-backend.html
index 394321ca7..9ddb4dbc0 100644
--- a/build/lemonldap-ng/doc/4.4-LDAP-session-backend.html
+++ b/build/lemonldap-ng/doc/4.4-LDAP-session-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.4-LDAP-session-backend.html
diff --git a/build/lemonldap-ng/doc/4.4-MySQL-session-backend.html b/build/lemonldap-ng/doc/4.4-MySQL-session-backend.html
index e0fcbe55d..5aa4d668c 100644
--- a/build/lemonldap-ng/doc/4.4-MySQL-session-backend.html
+++ b/build/lemonldap-ng/doc/4.4-MySQL-session-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.4-MySQL-session-backend.html
diff --git a/build/lemonldap-ng/doc/4.4-SOAP-session-backend.html b/build/lemonldap-ng/doc/4.4-SOAP-session-backend.html
index 97f73e0c2..b05b33ae2 100644
--- a/build/lemonldap-ng/doc/4.4-SOAP-session-backend.html
+++ b/build/lemonldap-ng/doc/4.4-SOAP-session-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.4-SOAP-session-backend.html
@@ -99,7 +99,7 @@
diff --git a/build/lemonldap-ng/doc/4.5-Apache-and-Kerberos-authentication-backend.html b/build/lemonldap-ng/doc/4.5-Apache-and-Kerberos-authentication-backend.html
index b33689e36..96b6addc0 100644
--- a/build/lemonldap-ng/doc/4.5-Apache-and-Kerberos-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-Apache-and-Kerberos-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-Apache-and-Kerberos-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-CAS-authentication-backend.html b/build/lemonldap-ng/doc/4.5-CAS-authentication-backend.html
index 79913d115..a6a599067 100644
--- a/build/lemonldap-ng/doc/4.5-CAS-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-CAS-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-CAS-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-Chain-portals.html b/build/lemonldap-ng/doc/4.5-Chain-portals.html
deleted file mode 100644
index 852ba51c6..000000000
--- a/build/lemonldap-ng/doc/4.5-Chain-portals.html
+++ /dev/null
@@ -1,215 +0,0 @@
-
-
-
-
-
-
-
- Lemonldap::NG documentation: 4.5-Chain-portals.html
-
-
-
-
-
-
-
Chaining
- Lemonpdap::NG portals
-
-
Since version 0.9.4, Lemonldap::NG is able to
- delegate authentication to a remote portal. This can be use to share
- authentication without sharing session database to some handlers.
-
-
-
-
-
-
Principle
-
-
- - The main portal is configured to use CDA (cross-domain
- authentication: set just "CDA => 1" in the portal). The secondary
- portal is declared in the manager of the main Lemonldap::NG structure
- (else user will be rejected).
-
- - The portal of the secondary Lemonldap::NG structure is configured to
- delegate authentication to a remote portal. A request to the main
- session database is done to be sure that the session exists :
-
- - If "exportedAttr" is set, only those attributes are copied in the
- session database of the secondary Lemonldap::NG structure. Else, all
- datas are copied in the session database.
-
-
-
kinematic
-
-
-
-
- - User tries to access to an application in the secondary
- Lemonldap::NG structure without having a session in this area
-
- - Redirection to the portal of the secondary area (transparent)
-
- - Redirection to the portal of the main area and normal authentication
- (if not done before)
-
- - Redirection to the portal of the secondary area (transparent)
-
- - Secondary portal check if remote session is available. It can be
- done via direct access to the session database or using SOAP
- access. Then it creates the session (with attribute
- filter)
-
- - User can now access to the protected application
-
Note that if the user is already authenticated on the first portal,
- all redirections are transparents.
-
-
Configuration
-
-
Main
- Lemonldap::NG structure
-
-
- - Portal : set "CDA => 1",
-
- - Manager : declare the secondary portal in protected sites.
-
-
-
Secondary Lemonldap::NG
- structure
-
-
Configure the portal to use the remote
- Lemonldap::NG structure. Example
-
-
-
-my $p = Lemonldap::NG::Portal->new( {
- authentication => 'Remote',
- userDB => 'Remote',
- remotePortal => 'https://remote/',
- remoteGlobalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
- remoteGlobalStorageOptions => {
- proxy => 'https://remote/index.pl/sessions',
- ns => 'https://remote/Lemonldap/NG/Common/CGI/SOAPService',
- },
- # Optional: restrict exported attributes in the secondary area
- exportedAttr => 'uid cn mail',
- ... as usual ...
-});
-
-
-
-
Example :
- interoperability between 2 organizations
-
-
Using this, we can do a very simple
- interoperability system between 2 organizations using both Lemonldap::NG :
-
-
- - each area has 2 portals :
-
-
- - 1 normal
-
- - 1 type Remote that delegates authentication to the second
- organization (just an other file on the same server)
-
-
-
- - The normal portal has a link included in the authentication form
- pointing to the remote portal for the users of the other
- organization
-
So on each main portal, internal users can access normaly, and users
- issued from the other organization have just to click on the link :
-
-
-
-
- - 1 user try to access to the portal
-
- - external users click to be redirected to the remote type portal
-
- - after redirection, normal authentication in the remote portal
-
- - redirection to the remote type portal
-
- - validation of the session : external user have now a local
- session
-
-
-
-
-
-
diff --git a/build/lemonldap-ng/doc/4.5-LDAP-authentication-backend.html b/build/lemonldap-ng/doc/4.5-LDAP-authentication-backend.html
index aec96f112..81aaceeb4 100644
--- a/build/lemonldap-ng/doc/4.5-LDAP-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-LDAP-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-LDAP-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-Liberty-Alliance-authentication-backend-fr.html b/build/lemonldap-ng/doc/4.5-Liberty-Alliance-authentication-backend-fr.html
index 5a0941fa9..4f28cc870 100644
--- a/build/lemonldap-ng/doc/4.5-Liberty-Alliance-authentication-backend-fr.html
+++ b/build/lemonldap-ng/doc/4.5-Liberty-Alliance-authentication-backend-fr.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-Liberty-Alliance-authentication-backend-fr.html
diff --git a/build/lemonldap-ng/doc/4.5-Multiple-authentication-backend.html b/build/lemonldap-ng/doc/4.5-Multiple-authentication-backend.html
index f71ff7249..27bd1d680 100644
--- a/build/lemonldap-ng/doc/4.5-Multiple-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-Multiple-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-Multiple-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-Proxy-authentication-module.html b/build/lemonldap-ng/doc/4.5-Proxy-authentication-module.html
index 38d561e38..5c962810e 100644
--- a/build/lemonldap-ng/doc/4.5-Proxy-authentication-module.html
+++ b/build/lemonldap-ng/doc/4.5-Proxy-authentication-module.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-Proxy-authentication-module.html
@@ -115,8 +115,8 @@ Soap => 1,
</Directory>
-
-
+
+
diff --git a/build/lemonldap-ng/doc/4.5-Remote-authentication-backend.html b/build/lemonldap-ng/doc/4.5-Remote-authentication-backend.html
index 4353ed60e..785f8b40c 100644
--- a/build/lemonldap-ng/doc/4.5-Remote-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-Remote-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-Remote-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-SAML-authentication-backend.html b/build/lemonldap-ng/doc/4.5-SAML-authentication-backend.html
index 3807cd849..b0c6d5999 100644
--- a/build/lemonldap-ng/doc/4.5-SAML-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-SAML-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-SAML-authentication-backend.html
diff --git a/build/lemonldap-ng/doc/4.5-SSL-authentication-backend.html b/build/lemonldap-ng/doc/4.5-SSL-authentication-backend.html
index 74b3151d7..a4045b785 100644
--- a/build/lemonldap-ng/doc/4.5-SSL-authentication-backend.html
+++ b/build/lemonldap-ng/doc/4.5-SSL-authentication-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.5-SSL-authentication-backend.html
@@ -155,6 +155,7 @@ SSLEngine On
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars
+SSLUserName SSL_CLIENT_S_DN_CN
@@ -176,13 +177,15 @@ SSLRequire => 0,
authentication: the authentication method, here SSL (can be LDAP,
Apache, etc.)
- SSLVar: field of the certificate to use in mapping
+ SSLVar: field of the certificate affected to $user internal
+ variable
SSLLDAPField: attribute in LDAP directory to use in mapping
SSLRequire: if true, do not display authentication form if SSL
certificate authentication fails (false by defautl).
-
+ Note: SSLLDAPField is not required if
+ you do not use userDBLDAP.
diff --git a/build/lemonldap-ng/doc/4.6-LDAP-user-backend.html b/build/lemonldap-ng/doc/4.6-LDAP-user-backend.html
index 15027ab74..f5c4effcc 100644
--- a/build/lemonldap-ng/doc/4.6-LDAP-user-backend.html
+++ b/build/lemonldap-ng/doc/4.6-LDAP-user-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.6-LDAP-user-backend.html
@@ -127,7 +127,7 @@ ldapGroupBase => 'ou=groups,dc=example,dc=com',
ldapGroupObjectClass => 'groupOfUniqueNames',
ldapGroupAttributeName => 'uniqueMember',
ldapGroupAttributeNameUser => 'dn',
-ldapGroupAttributeNameSearch => '["cn"]',
+ldapGroupAttributeNameSearch => ['cn'],
@@ -151,7 +151,7 @@ ldapGroupBase => 'ou=groups,dc=example,dc=com',
ldapGroupObjectClass => 'group',
ldapGroupAttributeName => 'member',
ldapGroupAttributeNameUser => 'dn',
-ldapGroupAttributeNameSearch => '["cn"]',
+ldapGroupAttributeNameSearch => ['cn'],
diff --git a/build/lemonldap-ng/doc/4.6-Multiple-user-backend.html b/build/lemonldap-ng/doc/4.6-Multiple-user-backend.html
index c4ee43c3b..edc632db8 100644
--- a/build/lemonldap-ng/doc/4.6-Multiple-user-backend.html
+++ b/build/lemonldap-ng/doc/4.6-Multiple-user-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.6-Multiple-user-backend.html
diff --git a/build/lemonldap-ng/doc/4.6-Null-user-backend.html b/build/lemonldap-ng/doc/4.6-Null-user-backend.html
index b3cf34b67..cbe93980d 100644
--- a/build/lemonldap-ng/doc/4.6-Null-user-backend.html
+++ b/build/lemonldap-ng/doc/4.6-Null-user-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.6-Null-user-backend.html
diff --git a/build/lemonldap-ng/doc/4.6-SAML-user-backend.html b/build/lemonldap-ng/doc/4.6-SAML-user-backend.html
index a32217783..a5960ccbc 100644
--- a/build/lemonldap-ng/doc/4.6-SAML-user-backend.html
+++ b/build/lemonldap-ng/doc/4.6-SAML-user-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.6-SAML-user-backend.html
diff --git a/build/lemonldap-ng/doc/4.7-LDAP-password-backend.html b/build/lemonldap-ng/doc/4.7-LDAP-password-backend.html
index bfb1c0562..99fc8c522 100644
--- a/build/lemonldap-ng/doc/4.7-LDAP-password-backend.html
+++ b/build/lemonldap-ng/doc/4.7-LDAP-password-backend.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.7-LDAP-password-backend.html
diff --git a/build/lemonldap-ng/doc/4.8-Configure-LDAP-schema.html b/build/lemonldap-ng/doc/4.8-Configure-LDAP-schema.html
index 866aa8349..09650efa3 100644
--- a/build/lemonldap-ng/doc/4.8-Configure-LDAP-schema.html
+++ b/build/lemonldap-ng/doc/4.8-Configure-LDAP-schema.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.8-Configure-LDAP-schema.html
diff --git a/build/lemonldap-ng/doc/4.8-Configure-password-policy.html b/build/lemonldap-ng/doc/4.8-Configure-password-policy.html
index 928fcbea2..e8f1673f3 100644
--- a/build/lemonldap-ng/doc/4.8-Configure-password-policy.html
+++ b/build/lemonldap-ng/doc/4.8-Configure-password-policy.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.8-Configure-password-policy.html
diff --git a/build/lemonldap-ng/doc/4.9-Cross-domain-authentication.html b/build/lemonldap-ng/doc/4.9-Cross-domain-authentication.html
index 8ffe9d864..32f42adfb 100644
--- a/build/lemonldap-ng/doc/4.9-Cross-domain-authentication.html
+++ b/build/lemonldap-ng/doc/4.9-Cross-domain-authentication.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.9-Cross-domain-authentication.html
diff --git a/build/lemonldap-ng/doc/4.9-Notification-system.html b/build/lemonldap-ng/doc/4.9-Notification-system.html
index 9c49a2fe7..722fb3ad5 100644
--- a/build/lemonldap-ng/doc/4.9-Notification-system.html
+++ b/build/lemonldap-ng/doc/4.9-Notification-system.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.9-Notification-system.html
diff --git a/build/lemonldap-ng/doc/4.9-Reset-password-by-mail.html b/build/lemonldap-ng/doc/4.9-Reset-password-by-mail.html
index 5820a87f7..a258324dd 100644
--- a/build/lemonldap-ng/doc/4.9-Reset-password-by-mail.html
+++ b/build/lemonldap-ng/doc/4.9-Reset-password-by-mail.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 4.9-Reset-password-by-mail.html
diff --git a/build/lemonldap-ng/doc/4.9-Several-independant-portals.html b/build/lemonldap-ng/doc/4.9-Several-independant-portals.html
index 7f926629f..3fa21ef62 100644
--- a/build/lemonldap-ng/doc/4.9-Several-independant-portals.html
+++ b/build/lemonldap-ng/doc/4.9-Several-independant-portals.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
4.9-Several-independant-portals.html
@@ -117,6 +117,23 @@
+ You can also use $vhost inside portal URL, for
+ example:
+
+
+
+
+
+PACKAGE->init(
+ {
+ # Dynamic portal
+ portal => ' "http://".$vhost."/portal/" ',
+ });
+
+
+
Note: $vhost will
be replaced by $apacheRequest->hostname for each HTTP request.
@@ -159,7 +176,7 @@ my $portal_url = Apache
configuration
- You will have to configure 2 wirtual hosts for the portals, and set a
+ You will have to configure 2 virtual hosts for the portals, and set a
specific ErrorDocument for protected applications. Do this in
etc/apache2.conf:
diff --git a/build/lemonldap-ng/doc/5-Appli-Bugzilla.html b/build/lemonldap-ng/doc/5-Appli-Bugzilla.html
index 5c1a1dd79..7cd9b13e5 100644
--- a/build/lemonldap-ng/doc/5-Appli-Bugzilla.html
+++ b/build/lemonldap-ng/doc/5-Appli-Bugzilla.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-Bugzilla.html
diff --git a/build/lemonldap-ng/doc/5-Appli-Dokuwiki.html b/build/lemonldap-ng/doc/5-Appli-Dokuwiki.html
index 0e490dd5f..0e3387788 100644
--- a/build/lemonldap-ng/doc/5-Appli-Dokuwiki.html
+++ b/build/lemonldap-ng/doc/5-Appli-Dokuwiki.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-Dokuwiki.html
diff --git a/build/lemonldap-ng/doc/5-Appli-GLPI.html b/build/lemonldap-ng/doc/5-Appli-GLPI.html
index 34ce59b72..8ad37d6a6 100644
--- a/build/lemonldap-ng/doc/5-Appli-GLPI.html
+++ b/build/lemonldap-ng/doc/5-Appli-GLPI.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-GLPI.html
diff --git a/build/lemonldap-ng/doc/5-Appli-GRR.html b/build/lemonldap-ng/doc/5-Appli-GRR.html
index 27966a265..8f3675d73 100644
--- a/build/lemonldap-ng/doc/5-Appli-GRR.html
+++ b/build/lemonldap-ng/doc/5-Appli-GRR.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-GRR.html
diff --git a/build/lemonldap-ng/doc/5-Appli-HTTP-Basic-Authentication.html b/build/lemonldap-ng/doc/5-Appli-HTTP-Basic-Authentication.html
index 7708904e8..72bcfed88 100644
--- a/build/lemonldap-ng/doc/5-Appli-HTTP-Basic-Authentication.html
+++ b/build/lemonldap-ng/doc/5-Appli-HTTP-Basic-Authentication.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation:
5-Appli-HTTP-Basic-Authentication.html
diff --git a/build/lemonldap-ng/doc/5-Appli-Sympa.html b/build/lemonldap-ng/doc/5-Appli-Sympa.html
index 42a4e1188..73cb93c2e 100644
--- a/build/lemonldap-ng/doc/5-Appli-Sympa.html
+++ b/build/lemonldap-ng/doc/5-Appli-Sympa.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-Sympa.html
diff --git a/build/lemonldap-ng/doc/5-Appli-Tomcat-Valve.html b/build/lemonldap-ng/doc/5-Appli-Tomcat-Valve.html
index 2a30f340c..db8643d6a 100644
--- a/build/lemonldap-ng/doc/5-Appli-Tomcat-Valve.html
+++ b/build/lemonldap-ng/doc/5-Appli-Tomcat-Valve.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-Tomcat-Valve.html
diff --git a/build/lemonldap-ng/doc/5-Appli-phpLDAPadmin.html b/build/lemonldap-ng/doc/5-Appli-phpLDAPadmin.html
index 65dc3d8d4..d4d134ff3 100644
--- a/build/lemonldap-ng/doc/5-Appli-phpLDAPadmin.html
+++ b/build/lemonldap-ng/doc/5-Appli-phpLDAPadmin.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-phpLDAPadmin.html
diff --git a/build/lemonldap-ng/doc/5-Appli-self-made.html b/build/lemonldap-ng/doc/5-Appli-self-made.html
index 220338fea..539036556 100644
--- a/build/lemonldap-ng/doc/5-Appli-self-made.html
+++ b/build/lemonldap-ng/doc/5-Appli-self-made.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 5-Appli-self-made.html
diff --git a/build/lemonldap-ng/doc/6-Accounting.html b/build/lemonldap-ng/doc/6-Accounting.html
index b64fe253b..7aa443a85 100644
--- a/build/lemonldap-ng/doc/6-Accounting.html
+++ b/build/lemonldap-ng/doc/6-Accounting.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-Accounting.html
diff --git a/build/lemonldap-ng/doc/6-Contacts.html b/build/lemonldap-ng/doc/6-Contacts.html
index 9ef43439c..223736c1b 100644
--- a/build/lemonldap-ng/doc/6-Contacts.html
+++ b/build/lemonldap-ng/doc/6-Contacts.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-Contacts.html
diff --git a/build/lemonldap-ng/doc/6-Errors-fr.html b/build/lemonldap-ng/doc/6-Errors-fr.html
index 8c5b48b14..1117e9b07 100644
--- a/build/lemonldap-ng/doc/6-Errors-fr.html
+++ b/build/lemonldap-ng/doc/6-Errors-fr.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-Errors-fr.html
diff --git a/build/lemonldap-ng/doc/6-Errors.html b/build/lemonldap-ng/doc/6-Errors.html
index 42b39a3e4..e1bf265da 100644
--- a/build/lemonldap-ng/doc/6-Errors.html
+++ b/build/lemonldap-ng/doc/6-Errors.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-Errors.html
diff --git a/build/lemonldap-ng/doc/6-References.html b/build/lemonldap-ng/doc/6-References.html
index a595ad340..79d305c49 100644
--- a/build/lemonldap-ng/doc/6-References.html
+++ b/build/lemonldap-ng/doc/6-References.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-References.html
diff --git a/build/lemonldap-ng/doc/6-Roadmap.html b/build/lemonldap-ng/doc/6-Roadmap.html
index ba6facaeb..82e2cced8 100644
--- a/build/lemonldap-ng/doc/6-Roadmap.html
+++ b/build/lemonldap-ng/doc/6-Roadmap.html
@@ -5,7 +5,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
Lemonldap::NG documentation: 6-Roadmap.html
diff --git a/build/lemonldap-ng/scripts/doc.pl b/build/lemonldap-ng/scripts/doc.pl
index 353653595..902bda323 100755
--- a/build/lemonldap-ng/scripts/doc.pl
+++ b/build/lemonldap-ng/scripts/doc.pl
@@ -147,7 +147,7 @@ while ( my ( $url, $file ) = each %$docs ) {
$div += @t;
@t = ( $_ =~ /<\/div/i );
$div -= @t;
- $ind-- unless ($div);
+ #$ind-- unless ($div);
s/\r//g;
utf8::decode($_);