lemonldap-ng/modules/lemonldap-handlers-cas/lib/Lemonldap/Handlers/CoreCAS.pm
2007-04-02 08:30:39 +00:00

81 lines
2.0 KiB
Perl

package Lemonldap::Handlers::CoreCAS;
use strict;
#A retirer en prod
use Data::Dumper;
our ( @ISA, $VERSION, @EXPORTS );
$VERSION = '3.1.0';
our $VERSION_LEMONLDAP = "3.1.0";
our $VERSION_INTERNAL = "3.1.0";
sub locationRules {
my %param = @_;
# first retrieve session
my $id = $param{'id'};
my $config = $param{'config'};
my $uri = $param{'uri'};
my $host = $param{'host'};
my $target = $param{'target'};
my $_session = $param{'session'};
#my $_session = Lemonldap::Handlers::Session->get ('id' => $id ,
# 'config' => $config)# ;
#if (keys(%{$_session}) == 0){
#return 0;
#}
my $_trust = Lemonldap::Handlers::Policy->get(
'session' => $_session,
'parameters' => \%param
);
my $result = $_trust->{profil};
my $response = $_trust->{response};
my $h = {
dn => $_session->{dn},
uid => $_session->{uid},
string => $_trust->{profil},
response => $_trust->{response},
clientIPAdress => $_session->{clientIPAdress},
SessExpTime => $_session->{SessExpTime}
};
return $h;
}
package Lemonldap::Handlers::Session;
use Data::Dumper;
sub get {
my $class = shift;
my %_param = @_;
$_param{config}->{'SESSIONSTOREPLUGIN'} = 'Lemonldap::Handlers::Memsession'
unless $_param{config}->{'SESSIONSTOREPLUGIN'};
my $api = $_param{config}->{'SESSIONSTOREPLUGIN'};
eval "use $api;";
my $html = $api->get(%_param);
# bless $session, $class;
return $html;
}
package Lemonldap::Handlers::Policy;
sub get {
my $class = shift;
my %_param = @_;
$_param{parameters}->{config}->{'PLUGINPOLICY'} =
'Lemonldap::Handlers::MatrixPolicy'
unless $_param{parameters}->{config}->{'PLUGINPOLICY'};
my $api = $_param{parameters}->{config}->{'PLUGINPOLICY'};
eval "use $api;";
my $trust = $api->get(%_param);
# bless $trust , $class;
return $trust;
}
1;