[dancer-users] Setting a cookie resets the session?
Naveed Massjouni
naveed at vt.edu
Fri Feb 14 08:08:54 GMT 2014
On Thu, Feb 13, 2014 at 11:59 PM, Warren Young <warren at etr-usa.com> wrote:
>
> I have a login page POST handler, and I want to remember the login parameters for the next attempt:
>
> post '/login' => sub {
> if (handle_login(stuff)) {
> cookie 'myapp' => {
> 'username' => params->{username},
> 'other' => params->{stuff},
> };
>
> redirect '/'; # top-level app URL
> }
> # else, login failed, so stay on /login route
> };
>
> It seems that as soon as I set the cookie, I invalidate the session.
>
> I know this because I have a "before" hook that checks whether the session is logged in, and bounces me back to the '/login' route. Without the cookie() call, I get logged in, and go to '/'. With it, I keep getting bounced back to '/login' because Dumper(session) gives me a blank session with only an id field set.
>
> How and where am I *supposed* to set the cookie, so it stays attached to the newly-logged-in session?
The session engine already abstracts out the cookie stuff for you. It
creates a cookie behind the scenes (I think called dancer.session).
Generally, you don't need to set a cookie, unless you are doing
something fancy. I think what you want to do is simply:
session user_name => params->{username},
session other => params->{stuff};
-Naveed Massjouni
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
More information about the dancer-users
mailing list