diff --git a/Spock.cabal b/Spock.cabal
--- a/Spock.cabal
+++ b/Spock.cabal
@@ -1,5 +1,5 @@
 name:                Spock
-version:             0.6.1.3
+version:             0.6.2.0
 synopsis:            Another Haskell web framework for rapid development
 description:         This toolbox provides everything you need to get a quick start into web hacking with haskell: routing, middleware, json, blaze, sessions, cookies, database helper, csrf-protection, global state
 Homepage:            https://github.com/agrafix/Spock
diff --git a/src/Web/Spock.hs b/src/Web/Spock.hs
--- a/src/Web/Spock.hs
+++ b/src/Web/Spock.hs
@@ -25,7 +25,7 @@
     , HasSpock (runQuery, getState)
       -- * Sessions
     , SessionCfg (..)
-    , readSession, writeSession, modifySession
+    , readSession, writeSession, modifySession, clearAllSessions
       -- * Safe actions
     , SafeAction (..)
     , safeActionPath
@@ -98,3 +98,10 @@
 readSession =
     do mgr <- getSessMgr
        sm_readSession mgr
+
+-- | Globally delete all existing sessions. This is useful for example if you want
+-- to require all users to relogin
+clearAllSessions :: SpockAction conn sess st ()
+clearAllSessions =
+    do mgr <- getSessMgr
+       sm_clearAllSessions mgr
diff --git a/src/Web/Spock/SessionManager.hs b/src/Web/Spock/SessionManager.hs
--- a/src/Web/Spock/SessionManager.hs
+++ b/src/Web/Spock/SessionManager.hs
@@ -37,6 +37,7 @@
                   { sm_readSession = readSessionImpl vaultKey cacheHM
                   , sm_writeSession = writeSessionImpl vaultKey cacheHM
                   , sm_modifySession = modifySessionImpl vaultKey cacheHM
+                  , sm_clearAllSessions = clearAllSessionsImpl cacheHM
                   , sm_middleware = sessionMiddleware cfg vaultKey cacheHM
                   , sm_addSafeAction = addSafeActionImpl vaultKey cacheHM
                   , sm_lookupSafeAction = lookupSafeActionImpl vaultKey cacheHM
@@ -217,6 +218,11 @@
 deleteSessionImpl sessionRef sid =
     do atomically $ modifyTVar' sessionRef (\hm -> HM.delete sid hm)
        return ()
+
+clearAllSessionsImpl :: UserSessions conn sess st
+                     -> SpockAction conn sess st ()
+clearAllSessionsImpl sessionRef =
+    liftIO $ atomically $ modifyTVar' sessionRef (const HM.empty)
 
 housekeepSessions :: UserSessions conn sess st -> IO ()
 housekeepSessions sessionRef =
diff --git a/src/Web/Spock/Types.hs b/src/Web/Spock/Types.hs
--- a/src/Web/Spock/Types.hs
+++ b/src/Web/Spock/Types.hs
@@ -140,6 +140,7 @@
    { sm_readSession :: SpockAction conn sess st sess
    , sm_writeSession :: sess -> SpockAction conn sess st ()
    , sm_modifySession :: (sess -> sess) -> SpockAction conn sess st ()
+   , sm_clearAllSessions :: SpockAction conn sess st ()
    , sm_middleware :: Middleware
    , sm_addSafeAction :: PackedSafeAction conn sess st -> SpockAction conn sess st SafeActionHash
    , sm_lookupSafeAction :: SafeActionHash -> SpockAction conn sess st (Maybe (PackedSafeAction conn sess st))
