} else {
- # For now, keep an eye out for any pages being unceremoniously redirected to logout...
- $self->apache->log->info("catloader: loading " . $ctx->{path_info} .
- "; auth session " . $e->authtoken . " no longer valid; redirecting to logout");
-
- return $self->load_logout;
+ # if we encounter a stale authtoken, call load_logout
+ # to clean up the cookie, then redirect the user to the
+ # originally requested page
+ return $self->load_logout($self->apache->unparsed_uri);
}
}
# -----------------------------------------------------------------------------
sub load_logout {
my $self = shift;
+ my $redirect_to = shift;
# If the user was adding anyting to an anonymous cache
# while logged in, go ahead and clear it out.
$self->clear_anon_cache;
return $self->generic_redirect(
- $self->ctx->{home_page},
+ $redirect_to || $self->ctx->{home_page},
$self->cgi->cookie(
-name => COOKIE_SES,
-path => '/',