Alexandre Jousset wrote:
    Hello Matt,

Matt Lawrence a écrit :
    To set the longer expiry time, I try:


I think that will make the cookie expire on the 1st January 1971. Try "+31536000".

Looking at the "sessions" table, the value is correct, with or without the '+'. The problem seems to come from the line :

>> $c->config->{session}{expires} = 31536000 if
>> $c->req->param('remember_me');

that works only once. When I request another page on the site, the param 'remember_me' is not set so the sessions falls back to 1 hour (tha value I've put by default).

Ah, I missed the fact that you were accessing the cookies via a session plugin, I thought you were setting them directly.

Would it be horribly perverse to store the expiry interval time (or the remember_me bool) in the session?

$c->config->{session}{expires} = 31536000 if $c->session->{remember_me};

I have a feeling that an undef expiry will result in a session cookie, based on nothing more than guesswork and superstition.
Catatlyst::Plugin::Session::State::Cookie says:

      cookie_expires
          Number of seconds from now you want to elapse before cookie will
expire. Set to 0 to create a session cookie, ie one which will die
          when the user’s browser is shut down.


Matt

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to