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.

Download files

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

Files for pyramid_pluggable_session, version 0.0.0a2
Filename, size File type Python version Upload date Hashes
Filename, size pyramid_pluggable_session-0.0.0a2.tar.gz (11.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page