[mod_python] Lost Session

Jeremy Kohansimeh jkohans at gmail.com
Mon Jun 20 12:18:19 EDT 2005


I followed Jim's suggestion to see if the pysid cookie for the requests are 
the same and they are not. Do you have any other tips for debugging this? I 
am calling the save function before I start writing a response to the 
browser (I know there can be some conflict in saving a session if something 
has already been written to the browser since the pysid cookie can no longer 
be set).

Jeremy

On 6/20/05, Jim Gallacher <jg.lists at sympatico.ca> wrote:
> 
> Jeremy Kohansimeh wrote:
> > Hello,
> >
> > I am having trouble recovering a session. On the initial request, I
> > create some entries for the session and then save it (I have confirmed
> > that there is data in the session before I save it and that the save()
> > function is being called). On subsequent requests, the session object
> > that I have created is not reinstated, instead a new one is created (I
> > have coonfirmed this with the is_new() function). I have checked my
> > browser and there is a pysid cookie being set on the first request.
> 
> Is pysid the same for subsequent requests? I think something got out of
> sync.
> 
> > Does anyone have any tips to debug this? I am really at a loss for what
> > is going on.
> >
> > Here is the code that I use to reinstate/create a session:
> >
> > def handler(req, **kw):
> > """handles initial requests"""
> >
> > f = open( LOGFILE, 'a+')
> >
> > req.sess = Session.Session( req)
> 
> Session.Session() loads the session if it exists, otherwise creates a
> new one, as well as a new session cookie / session id. The new session
> *does not* automatically get saved. You need to call req.sess.save() at
> some point. I know you know this. ;)
> 
> >
> > if not req.sess.is_new():
> > # this is an old session, so load it up
> > req.sess.load()
> 
> req.sess.load() is redundant.
> 
> > f.write( 'old session\n')
> > else:
> > f.write( 'new session\n')
> 
> It's a new session (for whatever reason) with a new pysid in the cookie
> sent to the client, but we never call req.sess.save() in this request.
> Henceforth, every request will generate a new session.
> 
> Regards,
> Jim
> 
> 
> 
> 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20050620/c5e3b5c4/attachment.html


More information about the Mod_python mailing list