diff --git a/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthNull.pm b/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthNull.pm new file mode 100644 index 000000000..97df86a72 --- /dev/null +++ b/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthNull.pm @@ -0,0 +1,114 @@ +##@file +# Null authentication backend file + +##@class +# Null authentication backend class +package Lemonldap::NG::Portal::AuthNull; + +use strict; +use Lemonldap::NG::Portal::Simple; + +our $VERSION = '0.1'; + +## @apmethod int authInit() +# Does nothing +# @return Lemonldap::NG::Portal constant +sub authInit { + PE_OK; +} + +## @apmethod int setAuthSessionInfo() +# Set _user value to 'anonymous' +# @return Lemonldap::NG::Portal constant +sub setAuthSessionInfo { + my $self = shift; + + $self->{sessionInfo}->{'_user'} = 'anonymous'; + + PE_OK; +} + +## @apmethod int extractFormInfo() +# Does nothing +# @return Lemonldap::NG::Portal constant +sub extractFormInfo { + PE_OK; +} + +## @apmethod int authenticate() +# Does nothing. +# @return Lemonldap::NG::Portal constant +sub authenticate { + PE_OK; +} + +1; +__END__ + +=head1 NAME + +=encoding utf8 + +Lemonldap::NG::Portal::Apache - Perl extension for building Lemonldap::NG +compatible portals with Apache authentication. + +=head1 SYNOPSIS + + use Lemonldap::NG::Portal::SharedConf; + my $portal = new Lemonldap::NG::Portal::Simple( + configStorage => {...}, # See Lemonldap::NG::Portal + authentication => 'Null', + ); + + if($portal->process()) { + # Write here the menu with CGI methods. This page is displayed ONLY IF + # the user was not redirected here. + print $portal->header('text/html; charset=utf8'); # DON'T FORGET THIS (see CGI(3)) + print "..."; + + # or redirect the user to the menu + print $portal->redirect( -uri => 'https://portal/menu'); + } + else { + print $portal->header('text/html; charset=utf8'); # DON'T FORGET THIS (see CGI(3)) + print "