Lemonldap/Portal/Standard version 0.02
======================================
NAME
    Lemonldap::Portal::Standard - Perl extension for the Lemonldap SSO
    system

SYNOPSIS
      use Lemonldap::Portal::Standard;
      sub my_method {
         my $self = shift;
         my $user = $self->{'user'};
         $user.="-cp" if  $user !~ /-cp$/;
         $self->{'user'} = $user;
          return ;
                 }

     my $message = '';
     my %params =Vars;
     my $stack_user= Lemonldap::Portal::Standard->new('formateUser' => \&my_method);
     my $urlc;
     my $urldc; 
     $retour=$stack_user->process(param =>  \%params,           
                    server          => $ReverseProxyConfig::ldap_serveur,
                    port            => $ReverseProxyConfig::ldap_port,
                    DnManager       => $ReverseProxyConfig::ldap_admin_dn,
                    passwordManager => $ReverseProxyConfig::ldap_admin_pd,
                    branch => $ReverseProxyConfig::ldap_branch_people  
                                 );
        if ($retour)   { 
            $message=$retour->message;
            $erreur=$retour->error;
                             }

     See in directory examples for more details  

DESCRIPTION
    Lemonldap is a SSO system under GPL. The authentification phase need to
    display a form with user / password . Standard.pm manage all the cycle
    of authentification :

     step 0  : setting configuration
     step 1  : manage the source of request
     step 2  : manage timeout 
     step 3  : control the input form of user and password
     step 4  : formate the userid if needing
     step 5  : build the filter for  the  search
     step 6  : build subtree for the search ldap 
     step 7  : make socket upon ldap server
     step 8  : bind operation
     step 9  : make search
     step 10 : confection of %session from ldap infos   
     step 11 : unbind 
     step 12 : re-bind for validing user's  credentials  

    Any step can bee overload for include your custom method.

     standards errors messages :

     1 => 'Your connection has expired; You must to be authentified once again',
     2 => 'User and password fields must be filled',
     3 => 'Wrong directory manager account or password' ,
     4  => 'not found in directory',
     5  => 'wrong credentials' ,
              
     warning the value 9 for error message is returned then the form is empty is't not an real error , perhaps it's the initial request.

METHODS
  Standard->new();
    my $stack_user= Standard->new('standard_method' => \&my_method);

  process();
     $retour=$stack_user->process(param =>  \%params,           
                    server          => 'ldap_serveur',
                    port            => 'ldap_port',
                    DnManager       => 'ldap_admin_dn',
                    passwordManager => 'ldap_admin_pd',
                    branch => 'ldap_branch_people'  
                                 );
      You can keep DnManager and passwordManager in undef state in order to  provide anonymous bind.
       Don't pass them like parameter for this. 
     %params is  the hash initialized whith  CGI params 
      Lemonldap provide several  parameters like :
      identifiant , secret  (user and password) 
      urlc : url of  the original request .
 
  message() ;
      return the text of error 

  error() ;
      return the  number of error 

  sub infoSession ()
      return a reference of hash of session 
 
SEE ALSO
    Lemonldap(3), Lemonldap::Handler::Intrusion(3)

    http://lemonldap.sourceforge.net/

    "Writing Apache Modules with Perl and C" by Lincoln Stein & Doug
    MacEachern - O'REILLYLemonldap::Portal::Standard - Perl extension for the Lemonldap SSO
    system

    see the examples directory. 

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

Net::LDAP ( perl LDAP API) 

COPYRIGHT AND LICENCE

Copyright (C) 2004 by Eric German E<amp> Xavier Guimard

Lemonldap originaly written by Eric german who decided to publish him in 2003
under the terms of the GNU General Public License version 2.
This library is under the GNU General Public License, Version 2.

The primary copyright holder is Eric German.

Portions are copyrighted under the same license as Perl itself.

Portions are copyrighted by Doug MacEachern and Lincoln Stein.
