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 "

Unable to work

"; + print "This server isn't well configured. Contact your administrator."; + print ""; + } + +=head1 DESCRIPTION + +This library just overload few methods of Lemonldap::NG::Portal::Simple to +create sessions for anonymous users. + +See L for usage and other methods. + +=head1 SEE ALSO + +L, L, +http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation + +=head1 AUTHOR + +Clement Oudot, Eclement@oodo.netE + +=head1 BUG REPORT + +Use OW2 system to report bug or ask for features: +L + +=head1 DOWNLOAD + +Lemonldap::NG is available at +L + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2010 by Clement Oudot + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.8.4 or, +at your option, any later version of Perl 5 you may have available. + +=cut + diff --git a/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/PasswordDBNull.pm b/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/PasswordDBNull.pm new file mode 100644 index 000000000..8024ad395 --- /dev/null +++ b/modules/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/PasswordDBNull.pm @@ -0,0 +1,34 @@ +##@file +# Null password backend file + +##@class +# Null password backend class +package Lemonldap::NG::Portal::PasswordDBNull; + +use strict; +use Lemonldap::NG::Portal::Simple; + +our $VERSION = '0.1'; + +## @apmethod int passwordDBInit() +# Does nothing +# @return Lemonldap::NG::Portal constant +sub passwordDBInit { + PE_OK; +} + +## @apmethod int modifyPassword() +# Does nothing +# @return Lemonldap::NG::Portal constant +sub modifyPassword { + PE_OK; +} + +## @apmethod int resetPassword() +# Does nothing +# @return Lemonldap::NG::Portal constant +sub resetPassword { + PE_OK; +} + +1;