Cookie-based session management for the Simple web framework

LTS Haskell 14.27:
Stackage Nightly 2022-02-07:1.0.0
Latest on Hackage:1.0.0

See all snapshots simple-session appears in

LGPL-3.0-only licensed by Amit Aryeh Levy
Maintained by
This version can be pinned in stack with:simple-session-1.0.0@sha256:4d9d66325b3207da9e3b8c1476c8490d4ecc68ff3ff0d906784a5c2ae5d4e539,1635

Module documentation for 1.0.0

Adds cookie-based session management to simple Controllers. To add to an application, declare the Controller setting's type an instance of HasSession, and wrap routes with withSession. For example:

data AppSettings = ...

instance HasSession AppSettings where
controllerApp settings $ withSessions $ do
  routeName \"posts\" $ ...

Then, in your controllers you can seemlessly get and set keys from the session:

get "/profile" $ do
  muserId <- sessionLookup "current_user_id"
  case muserIf of
    Nothing -> respond $ redirectTo "/login"
    Just userId -> [handle request]


Version (2015-11-18)

  • Default to using httponly cookie option

  • Default to using secure cookie option for requests over HTTPS

  • Allow customization of cookie options using the sessionBaseCookie method