Jeff Chimene wrote: > Hi, > > I'm trying to figure out why my sessions are expiring in > script/xxx_cgi.pl but not script/xxx_server.pl > The desired cycle is to login then redirect to another controller. > > When I run the standalone server, the session state is recovered, and > control resumes with the next controller. > > When I run using Apache & the script/xxx_cgi.pl, the session state is > marked expired and control returns to the login controller. > > I'm using the Session, Session::Store::FastMmap, Session::State::Cookie > plugins. > > Thanks for your support! > > Cheers, > jec This has something to do w/ the implementation of the "auto" method in Root.pm
There's some "extra" stuff I added to support returning to the requested URI after login. Nevertheless, it works from script/aic_server.pl, but not from Apache. Anyway, I disabled the routine and received goodness from Apache. sub auto : Private { my ($self, $c) = @_; if ($c->controller eq $c->controller('Login')) { return 1; } # If a user doesn't exist, force login $c->session->{after_login} = ''; if (!$c->user_exists) { $c->log->debug('***Root::auto User not found, forwarding to /login') if $c->debug; # make sure we return here after a successful login $c->session->{after_login} = $c->request->uri() unless ($c->request->uri() eq $c->request->base()); $c->detach('aic::Controller::Login', 'index'); } # User found, so return 1 to continue with processing after this 'auto' return 1; } _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/