Commit ef61c5b6 authored by Xavier Guimard's avatar Xavier Guimard

LEMONLDAP::NG : Documentation for logout system and bug correction:...

LEMONLDAP::NG : Documentation for logout system and bug correction: configuration refresh in Apache-1.3 (Closes: #306761)
parent 6ead9197
......@@ -3,6 +3,7 @@ Revision history for Perl extension Lemonldap::NG::Handler.
0.77 Wed Mar 22 7:18:48 2007
- logout system
- $date is now available in rules
- Closes bug #306761 / forge.objectweb.org
0.76 Fri Mar 9 7:14:42 2007
- Little bug correction
......
......@@ -14,8 +14,9 @@ described below.
2.2 - Authorization
2.3 - Accounting
3 - Session storage system
4 - Author
5 - Copyright and licence
4 - Logout system
5 - Author
6 - Copyright and licence
1 - INSTALLATION
================
......@@ -190,11 +191,24 @@ user each 10 minutes.
Lemonldap::NG is very fast, but you can increase performance using a
Cache::Cache module that does not use disk access.
4 - AUTHOR
4 - LOGOUT SYSTEM
Lemonldap::NG provides a single logout system: you can use it by adding a link
to the portal with "logout=1" parameter in the portal (See
Lemonldap::NG::Portal) and/or by configuring handler to intercept some URL
(See Lemonldap::NG::Handler). The logout system:
* delete session in the global session storage,
* replace Lemonldap::NG cookie by '',
* delete handler caches only if logout action was started from a protected
application and only in the current Apache server. So in other servers,
session is still in cache for 10 minutes maximum if the user was connected
on it in the last 10 minutes.
5 - AUTHOR
Xavier Guimard, x.guimard@free.fr
5 - COPYRIGHT AND LICENSE
6 - COPYRIGHT AND LICENSE
Copyright (C) 2005-2007 by Xavier Guimard x.guimard@free.fr
......
......@@ -68,6 +68,11 @@ You can also unprotect an URI
PerlHeaderParserHandler My::Package->unprotect
</Files>
If your application has a "logout" URL, configure it:
<Location /logout>
PerlHeaderParserHandler My::Package->logout
</Location>
=head1 DESCRIPTION
......@@ -270,6 +275,26 @@ user each 10 minutes.
Lemonldap::NG is very fast, but you can increase performance using a
L<Cache::Cache> module that does not use disk access.
=head2 Logout system
Lemonldap::NG provides a single logout system: you can use it by adding a link
to the portal with "logout=1" parameter in the portal (See
L<Lemonldap::NG::Portal>) and/or by configuring handler to intercept some URL
(See Sinopsys). The logout system:
=over
=item * delete session in the global session storage,
=item * replace Lemonldap::NG cookie by '',
=item * delete handler caches only if logout action was started from a
protected application and only in the current Apache server. So in other
servers, session is still in cache for 10 minutes maximum if the user was
connected on it in the last 10 minutes.
=back
=head1 USING LEMONLDAP::NG::HANDLER FOR DEVELOPMENT
Lemonldap::NG::Handler provides different modules:
......
......@@ -144,16 +144,16 @@ sub getConf {
sub refresh($$) {
my ( $class, $r ) = @_;
$class->lmLog( "$class: request for configuration reload", 'info' );
$class->lmLog( "$class: request for configuration reload", 'notice' );
$r->handler("perl-script");
my $perlHandler = (MP() ==2) ? 'PerlResponseHandler' : 'PerlHandler';
if ( $class->globalConfUpdate($r) == OK ) {
# $r->push_handlers( PerlHandler => sub { $r = shift; $r->send_http_headers; $r->print("OK"); OK } );
$r->push_handlers( PerlHandler => sub { OK } );
$r->push_handlers( $perlHandler => sub { my $r = shift; $r->send_http_header; OK } );
}
else {
$r->push_handlers( PerlHandler => sub { SERVER_ERROR } );
}
return DONE;
return OK;
}
1;
......
......@@ -15,6 +15,7 @@ if ( $portal->process() ) {
print $portal->header;
print $portal->start_html;
print "<h1>Your well authenticated !</h1>";
print "Click <a href=\"$ENV{SCRIPT_NAME}?logout=1\">here</a> to logout";
print $portal->end_html;
}
else {
......
......@@ -37,6 +37,9 @@ system.
# or redirect the user to the menu
print $portal->redirect( -uri => 'https://portal/menu');
# You can also add a "Logout" link:
print "<a href=\"$ENV{SCRIPT_NAME}?logout=1\">";
}
else {
# Write here the html form used to authenticate with CGI methods.
......@@ -252,6 +255,26 @@ So the number of request to the central storage is limited to 1 per user each
Lemonldap::NG is very fast, but you can increase performance using a
L<Cache::Cache> module that does not use disk access.
=head2 Logout system
Lemonldap::NG provides a single logout system: you can use it by adding a link
to the portal with "logout=1" parameter (See Synopsis) and/or by configuring
Handler to intercept some URL (See L<Lemonldap::NG::Handler>). The logout
system:
=over
=item * delete session in the global session storage,
=item * replace Lemonldap::NG cookie by '',
=item * delete handler caches only if logout action was started from a
protected application and only in the current Apache server. So in other
servers, session is still in cache for 10 minutes maximum if the user was
connected on it in the last 10 minutes.
=back
=head1 USING LEMONLDAP::NG::PORTAL FOR DEVELOPMENT
Lemonldap::NG::Portal provides different modules:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment