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 details)

Uploaded Source

File details

Details for the file pyramid_pluggable_session-0.0.0a2.tar.gz.

File metadata

File hashes

Hashes for pyramid_pluggable_session-0.0.0a2.tar.gz
Algorithm Hash digest
SHA256 788a5cb01ba5a0b4ca48639a2941740b51974fc59c0ad6ee886b2ed1154b8b68
MD5 e6bbeeab48f882701b0aa6f6ca76bd97
BLAKE2b-256 005585f788f7f9d2c807a011d244bd50d4acb610e7b5cdf75dc6fb018cbad232

See more details on using hashes here.

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