Lemonldap-Portal-Standard

 view release on metacpan or  search on metacpan

lib/Lemonldap/Portal/LoginPOST.pm  view on Meta::CPAN

   seek ($fh,0,0);
   for (<$fh>) { 
   push @a,$_;
   }
   my $a =join '<br>', @a;
   $self->{dump} =$a;
    undef $fh;
    return 1;
}
sub My_Session {
	my $self = shift;
	my $paramxml = $self->{line_session};

	my %Session;

	my $entry = $self->{entry};
	my $obj = Lemonldap::Portal::Session->init ($paramxml,'entry' =>$entry) ;
	$self->{infosession} = $obj;


    }


		
sub handler {	
	my $r = shift;
 	$log = $r->log;	
	
	if ( $Stack_User->{'AlreadyCreated'} ){
		undef $Stack_User->{'error'};
	}else{
		$log = $r->log;
        	$MyApplicationXmlFile = $r->dir_config('ConfigFile');
	        $MyDomain = lc($r->dir_config('Domain'));
	        $LoginPage = $r->dir_config('LoginPage');
	        $Major = $r->dir_config('Organization');
        	if ( ! defined($Major) ){
                	$Major = "authz_headers";
        	}
	        $Parameters = Lemonldap::Config::Parameters->new( file => $MyApplicationXmlFile, );
	        $Conf_Domain = $Parameters->getDomain($MyDomain);
	        $Login_Url = $Conf_Domain->{Portal};
	        $Cookie_Name = $Conf_Domain->{Cookie};
	        $page_html = $Conf_Domain->{LoginPage};
        	$Ldap_Server = $Conf_Domain->{ldap_server};
	        $Ldap_Branch_People = $Conf_Domain->{ldap_branch_people};
	        $Ldap_Dn_Manager = $Conf_Domain->{DnManager};
	        $Ldap_Pass_Manager = $Conf_Domain->{passwordManager};
	        $Ldap_Port = $Conf_Domain->{ldap_port};

        	$Ldap_Search_Bases = $Ldap_Branch_People;
	       # if (defined($r->dir_config('LdapSearchBases'))){
        #	        $Ldap_Search_Bases = $r->dir_config('LdapSearchBases').":".$Ldap_Search_Bases;
      #  	}
	         @base = split(/\s*:\s*/,$Ldap_Search_Bases);

		if (! $html) {
		    my $file ;
		    open($file ,"<$page_html");
                    local $/;
		    $/ ='';
                    $html = <$file>;
                    close $file;
                      }
	        $ipCheck = $Conf_Domain->{ClientIPCheck};
		
		   
		 $inactivityTimeout = $Conf_Domain->{InactivityTimeout};
	        $sessCacheRefreshPeriod = $Conf_Domain->{SessCacheRefreshPeriod};
        	$Ldap_Server = $Conf_Domain->{ldap_server};
	        $Ldap_Branch_People = $Conf_Domain->{ldap_branch_people};
	        $Ldap_Dn_Manager = $Conf_Domain->{DnManager};
	        $Ldap_Pass_Manager = $Conf_Domain->{passwordManager};
	        $Ldap_Port = $Conf_Domain->{ldap_port};

        	#<Recuperation de l'adresse IP cliente>
	        if ($ipCheck){
        	        my $connection = $r->connection();
                	$client_addr = $connection->remote_ip();
        	}
	        #</Recuperation de l'adresse IP cliente>

	        $UserAttributes = $r->dir_config('LdapUserAttributes');
        	if (defined($r->dir_config('LdapUserAttributes'))){
	         @attrs = split(/\s+/,$r->dir_config('LdapUserAttributes'));
        	}else{
	         @attrs = ();
        	}

        	$Ldap_Search_Bases = $Ldap_Branch_People;
	        if (defined($r->dir_config('LdapSearchBases'))){
        	        $Ldap_Search_Bases = $r->dir_config('LdapSearchBases').":".$Ldap_Search_Bases;
        	}
	        my @base = split(/\s*:\s*/,$Ldap_Search_Bases);
		
		$MemcachedServer = $Parameters->formateLineHash($Parameters->findParagraph('session','memcached')->{SessionParams});
		$CookieName = $Conf_Domain->{Cookie};
		$InactivityTimeout = $Conf_Domain->{InactivityTimeout};
		$Encryptionkey = $Conf_Domain->{Encryptionkey};
		$Menu = $Conf_Domain->{'Menu'};

 $line_session = $Conf_Domain->{DefinitionSession};

		$Stack_User = Lemonldap::Portal::Standard->new(
		      'msg' => $Messages, 
                        'setSessionInfo' => \&My_Session,
                #  'controlUrlOrigin' => \&my_none,
                      'controlTimeOut' => \&my_none,
                   # 'controlSyntax' => \&my_none,
                      'controlIP'    =>  \&my_none,
	           #   'bind'     =>  \&my_none,
                   #   'formateFilter' =>\&my_none,
                   #   'formateBaseLDAP' =>\&my_none,
                   #   'contactServer'  =>\&my_none,
                   #   'search'  =>\&my_entry,
                   #   'unbind'  =>\&my_none,
                   #   'credentials' =>\&my_none,
                         );               
 	       $Stack_User->{'AlreadyCreated'} = "true";
               $Stack_User->{line_session} = $line_session;
   



( run in 1.309 second using v1.01-cache-2.11-cpan-54e63673c56 )