Debugged the problem: domain=localhost doesn't work (not enough dots!) On Wed, Jun 2, 2010 at 9:22 PM, Yang Zhang <[email protected]> wrote: > Note: I've also tried variations like .save() instead of .persist(), > and removing the redirect(). > > On Wed, Jun 2, 2010 at 8:55 PM, Yang Zhang <[email protected]> wrote: >> I have a simple controllers and development.ini (pasted below) that >> configure cookie-based beaker sessions with encrypt_key, validate_key, >> etc., but the cookies aren't being produced (verified from browser and >> also the rest of the application isn't seeing them). I can manually >> add cookies, though (as demonstrated). Any hints? Thanks in advance. >> >> >> >> import logging >> >> from pylons import request, response, session, tmpl_context as c, url >> from pylons.controllers.util import abort, redirect >> >> from pod.lib.base import BaseController, render >> from pod.pb import User >> from pod import model, pb >> from pod.lib.util import * >> >> from decorator import decorator >> >> log = logging.getLogger(__name__) >> >> class AuthController(BaseController): >> >> def signout(self): >> response.delete_cookie('podl') >> redirect('/auth/set_user') >> >> def set_user(self): >> if request.method == 'GET': >> s = model.Session() >> users = s.query(model.User).all() >> users = map(lambda u: unpack(pb.User(), u.val), users) >> return render('/page/select_user.html', extra_vars={'users': users}) >> >> username = request.params.getone('username') >> if not username: >> abort(400) >> return >> >> session['a'] = 'a' >> print repr(session) >> session.persist() # TODO make sure we don't have session fixation >> response.set_cookie('podl', username, max_age=60*60*24*365) >> redirect('/' + username.split('@')[1]) >> >> >> >> # >> # pod - Pylons development environment configuration >> # >> # The %(here)s variable will be replaced with the parent directory of this >> file >> # >> [DEFAULT] >> debug = true >> # Uncomment and replace with the address which should receive any error >> reports >> #email_to = [email protected] >> smtp_server = localhost >> error_email_from = pa...@localhost >> >> [server:main] >> use = egg:Paste#http >> host = 0.0.0.0 >> port = 5000 >> >> [app:main] >> use = egg:pod >> full_stack = true >> static_files = true >> >> cache_dir = %(here)s/data >> beaker.session.type = cookie >> beaker.session.cookie_domain = localhost >> beaker.session.key = pod >> beaker.session.secret = somesecret >> beaker.session.encrypt_key = myencryptkey >> beaker.session.validate_key = myvalidatekey >> # beaker.session.cookie_expires defaults to false >> # but set session timeout to be 15 days >> beaker.session.timeout = 1296000 >> >> # If you'd like to fine-tune the individual locations of the cache data dirs >> # for the Cache data, or the Session saves, un-comment the desired settings >> # here: >> #beaker.cache.data_dir = %(here)s/data/cache >> #beaker.session.data_dir = %(here)s/data/sessions >> >> # SQLAlchemy database URL >> sqlalchemy.url = sqlite:///%(here)s/development.db >> >> # WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* >> # Debug mode will enable the interactive debugging tool, allowing ANYONE to >> # execute malicious code after an exception is raised. >> #set debug = false >> >> authkit.setup.method = form, cookie >> authkit.form.authenticate.user.data = myuser:mypass >> myuser2:mypass2 >> authkit.cookie.secret = secretstring >> authkit.cookie.signoutpath = /auth/signout >> >> >> # Logging configuration >> [loggers] >> keys = root, routes, pod, sqlalchemy >> >> [handlers] >> keys = console >> >> [formatters] >> keys = generic >> >> [logger_root] >> level = INFO >> handlers = console >> >> [logger_routes] >> level = INFO >> handlers = >> qualname = routes.middleware >> # "level = DEBUG" logs the route matched and routing variables. >> >> [logger_pod] >> level = DEBUG >> handlers = >> qualname = pod >> >> [logger_sqlalchemy] >> level = INFO >> handlers = >> qualname = sqlalchemy.engine >> # "level = INFO" logs SQL queries. >> # "level = DEBUG" logs SQL queries and results. >> # "level = WARN" logs neither. (Recommended for production systems.) >> >> [handler_console] >> class = StreamHandler >> args = (sys.stderr,) >> level = NOTSET >> formatter = generic >> >> [formatter_generic] >> format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] >> [%(threadName)s] %(message)s >> datefmt = %H:%M:%S >> >> -- >> Yang Zhang >> http://yz.mit.edu/ >> > > > > -- > Yang Zhang > http://yz.mit.edu/ >
-- Yang Zhang http://yz.mit.edu/ -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
