Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Identifier plugin for repoze.who with beaker.session cache implementation

Project description

repoze.who-use_beaker is a repoze.who identifier plugin. It is aimed at replacing repoze.who.plugins.auth_tkt in order to store the user data in beaker session.

The plugin stores a dictionary containing at least {‘repoze.who.userid’: userid} under key repoze.who.tkt.

UseBeakerPlugin takes the following parameters:

  • key_name (default: repoze.who.tkt) - the key name to store the userid under:

    >>> userid = session['repoze.who.tkt']
    
  • session_name (default: beaker.session) - the key name of the beaker session in the WSGI environment:

    >>> session = environ['beaker.session']
    
  • delete_on_logout (default: false) - if false then on logout session['repoze.who.tkt'] is erased but the other session data stays and will be reused during the next session. If you want the session to be invalidated pass delete_on_logout = True

  • alsopersist (default: [‘userdata’]) - a sequence of item keys that are persisted along to repoze.who.userid

Usually you should use make_plugin method instead of instantiating UseBeakerPlugin directly:

>>> from repoze.who.plugins.use_beaker import make_plugin
>>> plugin = make_plugin(**kw)

In order to properly use the beaker.session repoze.who (with repoze.who-use_beaker) has to be placed lower in the WSGI stack. Usually this means that you have to define repoze.who in your framework’s middleware configuration higher than beaker session. E.g. (using the factory from repoze.what-quickstart):

>>> from beaker.middleware import SessionMiddleware
>>> from repoze.what.plugins.quickstart import setup_sql_auth
>>> from repoze.who.plugins.use_beaker import make_plugin as make_beaker_plugin

... # app definition here

>>> app = setup_sql_auth(app,
...     User, Group, Permission, DBSession,
...     # HERE we provide the beaker plugin to be used as the primary identifier
...     identifiers=[('use_beaker', make_beaker_plugin())],
...     form_plugin=... # The rest of repoze configuration

... # more middlewares here

>>> app = SessionMiddleware(app, config)

Git repository is located at GitHub.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for repoze.who-use_beaker, version 0.3
Filename, size File type Python version Upload date Hashes
Filename, size repoze.who_use_beaker-0.3-py2.5.egg (6.6 kB) File type Egg Python version 2.5 Upload date Hashes View hashes
Filename, size repoze.who_use_beaker-0.3-py2.6.egg (6.6 kB) File type Egg Python version 2.6 Upload date Hashes View hashes
Filename, size repoze.who-use_beaker-0.3.tar.gz (3.4 kB) File type Source Python version None Upload date Hashes View hashes
Filename, size repoze.who-use_beaker-0.3.zip (8.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page