81 lines
2.0 KiB
Perl
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;
|