lemonldap-ng/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/DBI.pm
Christophe Maudoux 635e75c1b6 Perl critic
2021-02-01 22:30:37 +01:00

50 lines
1014 B
Perl

package Lemonldap::NG::Portal::Auth::DBI;
use strict;
use Mouse;
use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_BADCREDENTIALS);
our $VERSION = '2.0.12';
extends 'Lemonldap::NG::Portal::Auth::_WebForm',
'Lemonldap::NG::Portal::Lib::DBI';
# INTIALIZATION
sub init {
my ($self) = @_;
foreach (qw(dbiAuthTable dbiAuthLoginCol dbiAuthPasswordCol)) {
$self->logger->warn( ref($self) . " seems not configured: missing $_" )
unless $self->conf->{$_};
}
return ( $self->Lemonldap::NG::Portal::Auth::_WebForm::init
and $self->Lemonldap::NG::Portal::Lib::DBI::init );
}
has authnLevel => (
is => 'rw',
lazy => 1,
default => sub {
$_[0]->conf->{dbiAuthnLevel};
}
);
# RUNNING METHODS
sub authenticate {
my ( $self, $req ) = @_;
if ( $self->check_password($req) ) {
return PE_OK;
}
else {
$self->setSecurity($req);
return PE_BADCREDENTIALS;
}
}
sub authLogout {
return PE_OK;
}
1;