welcome: please sign in

次の148語(ハイライト表示)は、1209語の辞書 1209語のLocalSpellingWordsを含む)中に見つかりませんでした。
always   anonymous   anything   args   automatically   available   based   because   can   cfg   checked   config   configuration   configured   Contents   cookie   Cookie   creates   currently   default   Dependencies   different   dir   disabled   disables   domain   Domain   don   each   either   element   else   example   execute   explicitly   extension   farm   farmconfig   farming   files   For   for   forever   formatter   fractional   framework   from   functionality   host   hours   if   If   ignore   implemented   import   includes   interesting   item   just   lifetime   like   Likely   Loaded   logged   macro   many   matches   me   means   Multiple   myfarm   name   new   None   On   only   or   order   Part   parts   path   port   profiles   programmer   randint   random   related   remember   request   restored   return   same   saved   second   see   send   separate   service   session   Session   sessions   Sessions   set   Set   setting   shared   Single   siteid   siteidmagic   some   special   state   storage   stored   storing   Super   superuser   Table   test   Tests   text   that   there   they   this   time   to   trail   tuple   under   unique   until   use   used   User   user   using   usually   values   variables   visited   want   wiki1   wiki2   wikiconfig   will   work   would  

メッセージを消す
location: HelpOnSessions

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:

cookie_name

None

Part of the session cookie name. None means to create the name from some url parts, 'siteidmagic' means use cfg.siteid (name of config file), anything else will be just used as is.

cookie_domain

None

Domain 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.

Single wiki

Likely the only interesting item is cookie_lifetime.

Multiple separate wikis under same domain, all using wikiconfig (not farmconfig)

The default cookie_name = None creates a different cookie name and separate sessions for each wiki.

If you want separate sessions for your wikis, you can't use cookie_name = 'siteidmagic' because that always would set the name to MOIN_SESSION_wikiconfig. So either explicitly set a unique cookie_name for each wiki or use cookie_name = None.

Wiki farm, host based farming

E.g. wiki1.example.org and wiki2.example.org.

If you like shared sessions, shared user profiles, use this in your farmconfig:

   1     cookie_domain = '.example.org' # cookie domain matches for all wikis
   2     cookie_name = 'myfarm' # cookie name is same for all wikis
   3     session_dir = '/same_session_dir' # use same storage for session files
   4     user_dir = '/same_user_dir' # use same storage for user profiles

Wiki farm, path based farming

E.g. example.org/wiki1 and example.org/wiki2.

If you like shared sessions, shared user profiles, use this in your farmconfig:

   1     cookie_name = 'myfarm' # cookie name is same for all wikis
   2     session_dir = '/same_session_dir' # use same storage for session files
   3     user_dir = '/same_user_dir' # use same storage for user profiles

Wiki farm, port based farming

E.g. example.org:8000 and example.org:8001.

If you like shared sessions, shared user profiles, use this in your farmconfig:

   1     cookie_name = 'myfarm' # cookie name is same for all wikis
   2     session_dir = '/same_session_dir' # use same storage for session files
   3     user_dir = '/same_user_dir' # use same storage for user profiles

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)