lemonldap-ng/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthMulti.pm
2016-06-07 13:25:26 +00:00

59 lines
1.1 KiB
Perl

## @file
# Authentication chaining mechanism
## @class
# Authentication chaining mechanism
package Lemonldap::NG::Portal::AuthMulti;
use Lemonldap::NG::Portal::_Multi; #inherits
our $VERSION = '2.0.0';
sub authInit {
my $self = shift;
return $self->_multi->try( 'authInit', 0 );
}
sub extractFormInfo {
my $self = shift;
return $self->_multi->try( 'extractFormInfo', 0 );
}
sub setAuthSessionInfo {
my $self = shift;
$self->{sessionInfo}->{_authMulti} =
$self->{_multi}->{stack}->[0]->[0]->{n};
return $self->_multi->try( 'setAuthSessionInfo', 0 );
}
sub authenticate {
my $self = shift;
return $self->_multi->try( 'authenticate', 0 );
}
sub authFinish {
my $self = shift;
return $self->_multi->try( 'authFinish', 0 );
}
sub authLogout {
my $self = shift;
return $self->_multi->try( 'authLogout', 0 );
}
sub authForce {
my $self = shift;
$self->_sub('authInit');
my $s = $self->{_multi}->{last}->[0] . "::authForce";
return &{$s}($self);
}
sub getDisplayType {
my $self = shift;
my $s = $self->{_multi}->{last}->[0] . "::getDisplayType";
return &{$s};
}
1;