Actually I've just checked the repository and seems that this bug is fixed:
http://dev.catalystframework.org/svnweb/Catalyst/revision?rev=14068 Could you confirm that you are using the latest C::P::Session and extend_session_expires does not extend the session? Cheers, Dimitar On Fri, Feb 17, 2012 at 12:03 PM, Dimitar Petrov <mita...@gmail.com> wrote: > As far as I know that feature is broken.. > you can check the bug here: > https://rt.cpan.org/Public/Bug/Display.html?id=59595 > > What I usually do is after the login is successful I add: > $c->session->{remember} = 1 if $c->req->param('remember'); > > and then in MyApp.pm I override calculate_extended_session_expires like > that: > > sub calculate_extended_session_expires { > my ($c, $prev) = @_; > > if ($c->session->{remember_me}) { > return time() + 31536000; > } > else { > return $c->NEXT::calculate_extended_session_expires($prev); > } > } > > That's working but I get some warnings that using NEXT:: is deprecated so > you probably could use some method modifier. > > Cheers, > Dimitar > > On Fri, Feb 17, 2012 at 11:54 AM, Jesse Sheidlower <jes...@panix.com>wrote: > >> On Thu, Feb 16, 2012 at 08:42:09PM +0100, Paolo Gianrossi wrote: >> > Hi Jesse, >> > what I do is (blatantly taken from CatalystX::SimpleLogin source) >> > something like >> > >> > # in Login controller, and action login >> > >> > my $parms = $c->request->body_parameters; >> > >> > if ($c->authenticate({ username => $parms->{username}, >> > password => $parms->{password}} )) { >> > $c->extend_session_expires(999999999999) if >> > $c->request->address =~ m/^192\.168/g; #or whatever way to determine >> local >> > network... >> > >> $c->response->redirect($c->uri_for_action('whatever/action')); >> > } >> > #.... >> >> I'm afraid that this did not work. I did test to make sure the IP >> address was being correctly matched, so I know that the >> $c->extend_session_expires(999999999999) was executed. But the affected >> users still had to log in after an hour of non-use. >> >> Any other session experts have a thought? >> >> Jesse Sheidlower >> >> > >> > HTH! >> > >> > cheers >> > paolino >> > >> > -- >> > Paolo Gianrossi >> > >> > (An unmatched left parenthesis >> > creates an unresolved tension >> > that will stay with you all day >> > -- xkcd >> > >> > >> > >> > 2012/2/16 Jesse Sheidlower <jes...@panix.com> >> > >> > > >> > > Using Catalyst::Plugin::Session, is there any way to extend a session >> > > _longer_ than the expiry time I give in my conf file? The docs for >> > > session_expire_key say it's only useful if _shorter_ than the default >> > > expiry time. >> > > >> > > The situation I'm trying to solve is basically that I have an app with >> > > local and external users, and I'd like to make it so that users on the >> > > internal network have permanent cookies, and thus don't have to >> re-login >> > > all the time, but outside users have their sessions expire in an hour. >> > > >> > > I suppose I could just set an infinite expiration in my conf file, and >> > > then use session_expire_key to shorten the sessions for external >> users, >> > > but that seems like the reverse of what I really want, which is to >> give >> > > more rights to one group, not to give less rights to another. >> > > >> > > Jesse Sheidlower >> >> _______________________________________________ >> List: Catalyst@lists.scsys.co.uk >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: >> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ >> Dev site: http://dev.catalyst.perl.org/ >> > >
_______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/