Skip to main content

A pluggable session implementation for Pyramid

Project description

pyramid_pluggable_session

Want to be able to change out session backends using a simple configuration change, want to store your session data in a new location but re-implementing ISession from Pyramid looks too daunting, fear not, pyramid_pluggable_session makes this really simple.

Is this a pyramid_beaker replacement?

Yes. Although I’ve already been told that unless I implement ALL existing beaker backends that I am not doing it right, so I am hereby doing it wrong ;-).

Pull requests

Want to add a new backend? Perfect. Want to write some tests? Documentation? The whole nine yards? Please!

  1. Clone this repo, create a new topic branch, and hack hack hack.

  2. Push your topic branch to Github

  3. Create a new pull request

  4. I will review it, and if all is well pull it into this source tree!

0.0.0a2

  • Add better protection against session fixation:
    • Upon failure to deserialize/unpack/expiration of session a new session id is generated.

    • Upon calling invalidate() a new session is generated with a new session id

  • Add more clean-up using the new clear() functionality. When a session fails to deserialize, we remove it from the backends, if a session fails to unpack we remove it from the backends, and if it has expired we also remove it from the backends.

  • Update the included backends memory/file/chain to add the new clear() function required by IPlugSession.

  • Add clear() to IPlugSession interface to allow the session to explicitly have the backend plugs remove the session data associated with a certain session id.

  • On _save_session we set the cookie to response that is provided to us by the callback, and not request.response which may not be the users response.

0.0.0a1

New features:

  • A file based session storage now exists.

  • A chain can now be constructed for session storage

0.0.0dev

  • A new ISession compliant Pyramid session provider appears.

  • A single backend exists, it is based on local Pyramid memory.

Project details


Download files

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

Source Distribution

pyramid_pluggable_session-0.0.0a2.tar.gz (11.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page