How sessions work in MoinMoin
Sessions in MoinMoin are implemented using a special session service that can be configured in cfg.session_service.
Code using the session framework currently includes:
- the superuser "change user" functionality, see HelpOnSuperUser 
- the visited pages trail
Session related configuration
| cookie_domain | None | Domain used in the session cookie. | 
| cookie_path | None | Path used in the session cookie. | 
| cookie_lifetime | (0, 12) | Cookie lifetime in hours, can be fractional. First tuple element is for anonymous sessions, second tuple element is for logged-in sessions. For anonymous sessions, t=0 means that they are disabled, t>0 means that many hours. For logged-in sessions, t>0 means that many hours, or forever if user checked 'remember_me', t<0 means -t hours and ignore user 'remember_me' setting - you usually don't want to use t=0, it disables logged-in sessions. | 
 If you run a wiki farm and you want to share the session cookie between farm wikis, you want to change cookie_domain and/or cookie_path.
 If you run a wiki farm and you want to share the session cookie between farm wikis, you want to change cookie_domain and/or cookie_path. 
Session example code
As an extension programmer, in order to use session variables, you can use request.session like a dict, values stored there are automatically saved and restored if a session is available.
Here's an example macro using the session code:
   1 # -*- coding: iso-8859-1 -*-
   2 
   3 """
   4     Tests session state.
   5 """
   6 
   7 Dependencies = ['time']
   8 
   9 def execute(macro, args):
  10     if macro.request.session.is_new:
  11         return macro.formatter.text('Not storing any state until you send a cookie.')
  12     if 'test' in macro.request.session:
  13         return macro.formatter.text("Loaded value %d" % macro.request.session['test'])
  14     import random
  15     value = random.randint(1, 100000)
  16     macro.request.session['test'] = value
  17     return macro.formatter.text("Set to value %d" % value)