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/

-- 
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.

Reply via email to