diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal.pm index 552d47aa124317084e85ec62632104f7e3f79655..21c268e6a56077cb0fad4b8ad1bbdc096d2f0852 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal.pm @@ -22,82 +22,6 @@ __END__ Lemonldap::NG::Portal - The authentication portal part of Lemonldap::NG Web-SSO system. -=head1 SYNOPSIS - - use Lemonldap::NG::Portal::SharedConf; - my $portal = new Lemonldap::NG::Portal::SharedConf ( - configStorage => { - type => 'DBI', - dbiChain => "dbi:mysql:database=lmSessions;host=1.2.3.4", - dbiUser => "lemon", - dbiPassword => "pass", - }, - # Activate SOAP service - Soap => 1 - ); - - - if($portal->process()) { - # Write here the menu with CGI methods. This page is displayed ONLY IF - # the user was not redirected here by a Lemonldap::NG::Handler, - # else, the process sub redirect the user to the initial requested URI. - print $portal->header('text/html; charset=utf8'); # DON'T FORGET THIS (see L) - print "..."; - - # or redirect the user to the menu - print $portal->redirect( -uri => 'https://portal/menu'); - - # You can also add a "Logout" link: - print ""; - } - else { - # Write here the html form used to authenticate with CGI methods. - # $portal->error returns the error message if authentication failed - # You can force the language in error like this : - # print $portal->error('fr') - # Warning: by defaut, input names are "user" and "password" - print $portal->header('text/html; charset=utf8'); # DON'T FORGET THIS (see L) - print " ..."; - print '
'; - # In your form, the following value is required for redirection - print ''; - # Next, login and password - print 'Login :
'; - print 'Password :
'; - print ''; - print '
'; - } - -SOAP mode authentication (client) : - - #!/usr/bin/perl -l - - use SOAP::Lite; - use Data::Dumper; - - my $soap = - SOAP::Lite->proxy('http://auth.example.com/') - ->uri('urn:/Lemonldap::NG::Common::CGI::SOAPService'); - my $r = $soap->getCookies( 'user', 'password' ); - - # Catch SOAP errors - if ( $r->fault ) { - print STDERR "SOAP Error: " . $r->fault->{faultstring}; - } - else { - my $res = $r->result(); - - # If authentication failed, display error - if ( $res->{error} ) { - print STDERR "Error: " . $soap->error( 'fr', $res->{error} )->result(); - } - - # print session-ID - else { - print "Cookie: lemonldap=" . $res->{cookies}->{lemonldap}; - } - } - =head1 DESCRIPTION Lemonldap::NG is a modular Web-SSO based on Apache::Session modules. It @@ -107,382 +31,14 @@ It manages both authentication and authorization and provides headers for accounting. So you can have a full AAA protection for your web space as described below. -The portal part inherits from L so yo can use it both with Apache 1 and 2 -and use all L features. - -=head2 Authentication, Authorization, Accounting - -=head3 B - -If a user isn't authenticated and attempts to connect to an area protected by a -Lemonldap::NG compatible handler, he is redirected to a portal. The portal -authenticates user with a ldap bind by default, but you can also use another -authentication sheme like using x509 user certificates (see -L for more). - -Lemonldap::NG use session cookies generated by L so as secure as a -128-bit random cookie. You may use the C options of -L to avoid session hijacking if all your protected sites -use https. - -You have to manage life of sessions by yourself since Lemonldap::NG knows nothing -about the L module you've choosed, but it's very easy using a -simple cron script because L stores the start time in the -C<_utime> field. -The purgeCentralCache provided in C directory can help you to do it. -By default, a session stay 10 minutes in the Handler local storage, so in the -worth case, a user is authorized 10 minutes after he lost his rights. +Lemonldap::NG::Portal provides portal components. See +L for more. -=head3 B - -Authorization is controlled only by handlers because the portal knows nothing -about the way the user will choose. When configuring your Web-SSO, you have to: +=head1 AUTHORS =over -=item * choose the ldap attributes you want to use to manage accounting and -authorization (see C parameter in L -documentation), - -=item * create Perl expression to define user groups (using ldap attributes): -optional, this mechanism is available with Lemonldap::NG::*::SharedConf -modules, - -=item * create an array foreach virtual host associating URI regular -expressions and Perl expressions to use to grant access. - -=back - -=head4 Example - -Exported variables (in Lemonldap::NG::Portal, will be stored in -configuration database): - - exportedVars => { - cn => "cn", - departmentUID => "departmentUID", - login => "uid", - }, - -User groups (stored in configuration database with L): - - groups => { - group1 => '{ $departmentUID eq "unit1" or $login = "xavier.guimard" }', - ... - }, - -Area protection (stored in configuration database with -L): - - locationRules => { - www1.domain.com => { - '^/protected/.*$' => '$groups =~ /\bgroup1\b/', - default => 'accept', - }, - www2.domain.com => { - '^/site/.*$' => '$uid eq "xavier.guimard" or $groups =~ /\bgroup2\b/', - '^/(js|css)' => 'accept', - default => 'deny', - }, - }, - -=head4 Performance - -You can use Perl expressions as complicated as you want and you can use all -the exported LDAP attributes (and create your own attributes: see examples in -L distribution) both in groups evaluations and area -protections (you just have to call them with a "$"). - -You have to be careful when choosing your expressions: - -=over - -=item * C are evaluated each time a user is redirected to the portal, - -=item * C are evaluated for each request. - -=back - -It is also recommended to use the C mechanism to avoid having to -evaluate a long expression at each HTTP request: - - locationRules => { - www1.domain.com => { - '^/protected/.*$' => '$groups =~ /\bgroup1\b/', - }, - }, - -You can also use ldap filters in C parameter, or Perl expression or -mixed expressions. Perl expressions has to be enclosed with C<{}>: - -=over - -=item * C '(|(uid=xavier.guimard)(ou=unit1))'> - -=item * C '{$uid eq "xavier.guimard" or $ou eq "unit1"}'> - -=item * C '(|(uid=xavier.guimard){$ou eq "unit1"})'> - -=back - -It is also recommended to use Perl expressions to avoid requiring the LDAP -server more than 2 times per authentication. - -=head3 B - -=head4 I - -L doesn't log anything by default, but it's easy to overload -C method for normal portal access or using C method to know what -was wrong if C method has failed. - -=head4 I - -Because an handler knows nothing about the protected application, it can't do -more than logging URL. As Apache does this fine, L gives it -the name to used in logs. The C parameters indicates which -variable Apache has to use (C<$uid> by default). - -The real accounting has to be done by the application itself which knows the -result of SQL transaction for example. - -Lemonldap::NG can export http headers either using a proxy or protecting directly -the application. By default, the C field is used but you can change -it using the C parameters (stored in the configuration -database). This parameters contains an associative array: - -=over - -=item * B are the names of the chosen headers - -=item * B are perl expressions where you can use user datas stored in -the global store by calling them C<$EvarnameE>. - -=back - -Example: - - exportedHeaders => { - www1.domain.com => { - 'Auth-User' => '$uid', - 'Unit' => '$ou', - }, - www2.domain.com => { - 'Authorization' => '"Basic ".encode_base64($employeeNumber.":dummy","")', - }, - } - -=head2 Storage systems - -Lemonldap::NG use 3 levels of cache for authenticated users: - -=over - -=item * an Apache::Session::* module choosed with the C -parameter (completed with C) and used by -L to store authenticated user parameters, - -=item * a L module choosed with the C parameter -(completed with C and used to share authenticated users -between Apache's threads or processus and of course between virtual hosts, - -=item * Lemonldap::NG variables: if the same user use the same thread or -processus a second time, no request are needed to grant or refuse access. This -is very efficient with HTTP/1.1 Keep-Alive system. - -=back - -So the number of request to the central storage is limited to 1 per user each -10 minutes. - -Lemonldap::NG is very fast, but you can increase performance using a -L module that does not use disk access. - -=head2 Logout system - -Lemonldap::NG provides a single logout system: you can use it by adding a link -to the portal with "logout=1" parameter (See Synopsis) and/or by configuring -Handler to intercept some URL directly in the manager interface and/or in -Apache configuration file (See L). The logout system: - -=over - -=item * delete session in the global session storage, - -=item * replace Lemonldap::NG cookie by '', - -=item * delete handler caches only if logout action was started from a -protected application and only in the current Apache server. So in other -servers, session is still in cache for 10 minutes maximum if the user was -connected on it in the last 10 minutes. - -=back - -=head2 Existing sessions - -By default, when a user tries to connect to the portal with a valid cookie, -the portal proposes a new authentication. This behaviour can be change easily -by changing C sub : - - use Lemonldap::NG::Portal::SharedConf qw(:all); - - my $portal = Lemonldap::NG::Portal::SharedConf->new ( { - existingSession => sub {PE_DONE}, - configStorage => ... - ... - }); - -=head1 PORTAL OPTIONS - -=head2 Manager options - -All options here can be set both in the manager interface and in the -constructor ($portal->new()). Local arguments have the precedence on -arguments set by the manager. - -=over - -=item * ldapPort: tcp port used by ldap server. - -=item * ldapBase: base of the ldap directory. - -=item * managerDn: dn to used to connect to ldap server. By default, anonymous -bind is used. - -=item * managerPassword: password to used to connect to ldap server. By -default, anonymous bind is used. - -=item * securedCookie : set it to 1 if you want to protect user cookies. - -=item * cookieName : name of the cookie used by Lemonldap::NG (lemonldap by -default). - -=item * domain : cookie domain. You may have to give it else the SSO will work -only on your server. - -=item * globalStorage : required: L library to used to store -session information. - -=item * globalStorageOptions : parameters to bind to L module - -=item * locationRules : this parameter is used by L to -read the rules. - -=item * authentication: sheme to authenticate users (default: "ldap"). It can -be set to: - -=over - -=item * ldap : authentication is done by LDAP bind - -=item * SSL : the portal reads SSL variables issued from Apache SSL -authentication. See L for more. - -=item * CAS : use CAS system to authenticate users. See -L for more. - -=item * Apache : the authentication is done by Apache configuration and the -portal reads the environment variable C to search the user in -the LDAP server. This can be used to authenticate users by Kerberos. - -=item * LA : Liberty-Alliance mechanism. WARNING : at the moment, you have to -use directly L because this target does not -work. - -=back - -=back - -=head2 Local options - -Those options can not be set using the manager but have to be passed to the -constructor (new()). - -=over - -=item * configStorage I<(required for Lemonldap::NG::Portal::SharedConf)> : -describe how to find configuration generated by L. See -L for more - -=item * caPath, caFile : if you use ldap+tls you can overwrite cafile or capath -options with those parameters. This is useful if you use a shared -configuration. - -=item * ldapPpolicyControl : set it to 1 if you want to use LDAP Password -Policy - -=item * ldapGroupBase : this parameter can be used to store in the Lemonldap::NG -groups system all the LDAP groups that contains the user. Set here the LDAP base -of the LDAP groups. Example : C<"dmdName=groups,dc=example,dc=com">. - -=item * I : all method used by the process sub can be overloaded -simply using an option that referenced a sub. See -L for more. - -=back - -CAS authentication options : - -=over - -=item * CASurl, CASCAFile, CASloginUrl, CASvalidationUrl : see -L for more - -=back - -Liberty-Alliance authentication options : - -=over - -=item * laSp, laIdpsFile, laStorage, laLdapLoginAttribute, localStorage, -localStorageOptions, laDebug : see L for more. - -=back - -SSL authentication options : - -=over - -=item * SSLVar : the name of the SSL variable to read. Default to -SSL_CLIENT_S_DN_Email. - -=back - -=head1 USING LEMONLDAP::NG::PORTAL FOR DEVELOPMENT - -Lemonldap::NG::Portal provides different modules: - -=over - -=item * L: base module to build a portal, - -=item * L: authentication modules that modify -authentication scheme. - -=item * L: specific module to used -Liberty-Alliance mechanisms to authenticate users - -=item * L: this module provide the ability -to read portal configuration from a central database. It inherits from -L. It's the more used module. - -=back - -=head1 SEE ALSO - -L, L -L, L, -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE +=item LemonLDAP::NG team L =back @@ -498,15 +54,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2005-2010 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2006-2015 by Clement Oudot, Eclem.oudot@gmail.comE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Base.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Base.pm index 43f867b946158af79c3da238c70f1fe122c35a2d..78e0945b50eec4bdfdda192c7f74abfbe976d980 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Base.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Base.pm @@ -144,4 +144,39 @@ Last method called during authentication process. =head4 authLogout($req) +=head1 AUTHORS + +=over + +=item LemonLDAP::NG team L + +=back + +=head1 BUG REPORT + +Use OW2 system to report bug or ask for features: +L + +=head1 DOWNLOAD + +Lemonldap::NG is available at +L + +=head1 COPYRIGHT AND LICENSE + +See COPYING file for details. + +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 L. + =cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm index b0d80b25aad10e4543c3b7fdb58c294fd84debd0..050801310d7eb538978e12cea5a6b2a9bcc860ef 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm @@ -214,74 +214,3 @@ sub getDisplayType { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Auth::CAS - Perl extension for building Lemonldap::NG -compatible portals with CAS authentication. - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -This library just overload few methods of Lemonldap::NG::Portal::Simple to use -CAS mechanism: we've just try to get CAS ticket. - -See L for usage and other methods. - -=head1 SEE ALSO - -L, L, -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2007-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2009-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2009 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Demo.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Demo.pm index 754cd3d7f2cc59d65a3fffc346deb9795033e0e0..792f94251103b3865d164bbdf7167875c29d1f49 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Demo.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Demo.pm @@ -45,68 +45,3 @@ sub authLogout { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::AuthDemo - Perl extension for building Lemonldap::NG -compatible portals with built-in authentication. - -=head1 SYNOPSIS - - -=head1 DESCRIPTION - -This library just overload few methods of Lemonldap::NG::Portal::Simple to -create sessions for sample users. - -See L for usage and other methods. - -=head1 SEE ALSO - -L, L, -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2012 by Clement Oudot, Eclem.oudot@gmail.comE - -=back - -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 L. - -=cut - diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm index a966509461c1e2c09b2b7a8b7b0d4aab7d159cb3..3463c110c76a4c9a158a38e7a247d4d732a4e23f 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm @@ -315,68 +315,3 @@ sub getDisplayType { # Internal methods 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Auth::OpenIDConnect - Perl extension for building Lemonldap::NG -compatible portals with OpenID Connect. - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -OpenID Connect authentication module. - -See L for usage and other methods. - -=head1 SEE ALSO - -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2014-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2016-2017 by Xavier Guimard, Ex.guimard@free.frE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm index d85beb472475dc2e9808c9d6232c81dbc9adb668..e3bce93615a6e27872f2da38bb83b47747e5d19e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/SAML.pm @@ -1505,79 +1505,3 @@ sub getIDP { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Auth::SAML - SAML Authentication backend - -=head1 SYNOPSIS - - use Lemonldap::NG::Portal::Auth::SAML; - -=head1 DESCRIPTION - -Use SAML to authenticate users - -=head1 SEE ALSO - -L, L, L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2009-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2010-2015 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2010 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/CDC.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/CDC.pm index b927409265ee99e344bc4579fd5a6c55311facf3..89da50e50049338b682663a0c032d7e5c45e4bb1 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/CDC.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/CDC.pm @@ -198,41 +198,30 @@ Lemonldap::NG::Portal::CDC - Manage SAML Common Domain Cookie =head1 SYNOPSIS +Choose any L method. CGI example: + + #!/usr/bin/env plackup -I pl/lib + use Lemonldap::NG::Portal::CDC; - my $portal = new Lemonldap::NG::Portal::CDC(); - - $portal->process(); - - # Write here HTML to manage errors and confirmation messages + # This must be the last instruction ! See PSGI for more + Lemonldap::NG::Portal::CDC->run($opts); =head1 DESCRIPTION Lemonldap::NG::Portal::CDC - Manage SAML Common Domain Cookie -See L for a complete example of use of -Lemonldap::Portal::* libraries. - -=head1 METHODS - -=head3 process - -Main method. +See L for more. =head1 SEE ALSO -L, L, L, L -=head1 AUTHOR +=head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE +=item LemonLDAP::NG team L =back @@ -248,15 +237,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2010-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2010, 2012 by Clement Oudot, Eclem.oudot@gmail.comE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm index 8afce545cf58b4b60e401bf00f3277e3aab5bdfa..2e80ba5c0a674a2a4168daca0c9b6fff9b3ce4e1 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm @@ -339,99 +339,3 @@ sub display { } 1; - -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Display - Display functions for LemonLDAP::NG Portal - -=head1 SYNOPSIS - - use Lemonldap::NG::Portal::SharedConf; - use HTML::Template; - - my $portal = Lemonldap::NG::Portal::SharedConf->new(); - - my($templateName,%templateParams) = $portal->display(); - - my $template = HTML::Template->new( - filename => $templateName, - die_on_bad_params => 0, - cache => 0, - global_vars => 1, - filter => sub { $portal->translate_template(@_) } - ); - while ( my ( $k, $v ) = each %templateParams ) { $template->param( $k, $v ); } - - print $portal->header('text/html; charset=utf-8'); - print $template->output; - -=head1 DESCRIPTION - -This module is used to build all templates parameters to display -LemonLDAP::NG Portal - -=head1 SEE ALSO - -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2010-2012 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2010-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2011 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -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 L. - -=cut - diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/CAS.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/CAS.pm index 9c109066f80b9168d966e37afb994d0277fc3209..8c8d8747f67ed74901851e30bedd0605b143eeb2 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/CAS.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/CAS.pm @@ -650,68 +650,3 @@ sub _validate2 { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Issuer::CAS - CAS Issuer for LemonLDAP::NG - -=head1 DESCRIPTION - -CAS Issuer implementation in LemonLDAP::NG - -=head1 SEE ALSO - -L, -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2010-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2010-2012 by Clement Oudot, Eclem.oudot@gmail.comE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm index dbccf1b11ebf456ef1c60dca7abca8e5718d797f..79a5f6770a2e7279b5a013b036c3f8f61d032a7c 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm @@ -1377,63 +1377,3 @@ sub metadata { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Issuer::OpenIDConnect - OpenIDConnect Provider for Lemonldap::NG - -=head1 DESCRIPTION - -This is an OpenID Connect provider implementation in LemonLDAP::NG - -=head1 SEE ALSO - -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard Ex.guimard@free.frE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2014-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2016-2017 by Xavier Guimard Ex.guimard@free.frE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm index 0d15dcc9e162d0638a19337dacfe7977c4a6a834..2f8c26922630e7f2134f0817abc848b301067bfe 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/SAML.pm @@ -1899,71 +1899,3 @@ sub sendImage { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::Issuer::SAML - SAML Issuer for LemonLDAP::NG - -=head1 DESCRIPTION - -SAML Issuer for LemonLDAP::NG - -=head1 SEE ALSO - -L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2009-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2009-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2010 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -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 L. - -=cut diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/CAS.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/CAS.pm index 314b6970edb6917b16b5d38cfd67d9c59b1827d2..cc56f23f8660acd1189685cead725c1b59b29752 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/CAS.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/CAS.pm @@ -310,13 +310,11 @@ Call proxy granting URL on CAS client L -=head1 AUTHOR +=head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE +=item LemonLDAP::NG team L =back @@ -332,13 +330,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2010-2012 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2016-2017 by Xavier Guimard, Ex.guimard@free.frE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm index 791a3322d7cfd1831a8b6bafa2a521319d837f44..c41f2021d1b28bb6cb0026d11a1d19475d9da383 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm @@ -1569,13 +1569,11 @@ Build Logout Response URI L, L -=head1 AUTHOR +=head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE +=item LemonLDAP::NG team L =back @@ -1591,13 +1589,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2014-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2016-2017 by Xavier Guimard, Ex.guimard@free.frE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm index 8c5fbef52ff00536977fa68795e53e0ad3e20e98..7766f5e11944b20362af4bffe19ef94ba18ca228 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm @@ -3423,19 +3423,11 @@ Get query string with or without CGI query_string() method L, L -=head1 AUTHOR +=head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE +=item LemonLDAP::NG team L =back @@ -3451,19 +3443,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2009-2018 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2012 by Sandro Cazzaniga, Ecazzaniga.sandro@gmail.comE - -=item Copyright (C) 2012 by François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Copyright (C) 2010-2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2010-2011 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back +See COPYING file for details. 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 @@ -3479,4 +3459,3 @@ You should have received a copy of the GNU General Public License along with this program. If not, see L. =cut -1; diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm index a03362431df2922b98718f1835c5319b7ddfd5e1..819422de8f930e9b9b82b343bc7b9fc30f40dbfb 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm @@ -197,13 +197,11 @@ Example: L -=head1 AUTHOR +=head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE +=item LemonLDAP::NG team L =back @@ -219,13 +217,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2016-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2016 by Clement Oudot, Eclem.oudot@gmail.comE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Request.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Request.pm index b7e6218bd1b5bb38857659bf2a5de9320b535806..b3c682634ad6071f3dcab7d5aae4484817b223b8 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Request.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Request.pm @@ -136,8 +136,9 @@ portal methods. =head1 DESCRIPTION -Lemonldap::NG::Portal::Main::Request extends Lemonldap::NG::Common::PSGI::Request -to add all parameters needed to manage portal jobs. +Lemonldap::NG::Portal::Main::Request extends +L to add all parameters needed to manage +portal jobs. =head1 METHODS @@ -194,21 +195,13 @@ Returns positive/warning/negative depending on value stored in error property. =head1 SEE ALSO -L, L, L, -L, L, L, -L, L, +L, L =head1 AUTHORS =over -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item François-Xavier Deltombe, Efxdeltombe@gmail.com.E - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE +=item LemonLDAP::NG team L =back @@ -224,13 +217,7 @@ L =head1 COPYRIGHT AND LICENSE -=over - -=item Copyright (C) 2015-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2015-2016 by Clément Oudot, Eclem.oudot@gmail.comE - -=back +See COPYING file for details. 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 diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/SAML.pm index c4209a6bf141edc58a68f9233ccb172f9c066908..38d70b4743ce4a0a487bcff989fa27bbb814105e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/SAML.pm @@ -190,71 +190,3 @@ sub setGroups { } 1; -__END__ - -=head1 NAME - -=encoding utf8 - -Lemonldap::NG::Portal::UserDB::SAML - SAML User backend - -=head1 SYNOPSIS - - use Lemonldap::NG::Portal::UserDB::SAML; - -=head1 DESCRIPTION - -Collect all required attributes trough SAML Attribute Requests - -=head1 SEE ALSO - -L, L, L - -=head1 AUTHOR - -=over - -=item Clement Oudot, Eclem.oudot@gmail.comE - -=item Xavier Guimard, Ex.guimard@free.frE - -=item Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -=head1 BUG REPORT - -Use OW2 system to report bug or ask for features: -L - -=head1 DOWNLOAD - -Lemonldap::NG is available at -L - -=head1 COPYRIGHT AND LICENSE - -=over - -=item Copyright (C) 2009-2017 by Xavier Guimard, Ex.guimard@free.frE - -=item Copyright (C) 2009-2015 by Clement Oudot, Eclem.oudot@gmail.comE - -=item Copyright (C) 2010 by Thomas Chemineau, Ethomas.chemineau@gmail.comE - -=back - -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 L. - -=cut