welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

location: AiutoSuSessioni

Come funzionano le sessioni in MoinMoin

Le sessioni in MoinMoin sono implementate usando dei gestori di sessione speciali che possono essere configurati in cfg.session_handler. In modo predefinito, viene usata un'istanza della classe MoinMoin.session.DefaultSessionHandler per la gestione delle sessioni.

Il codice che fa uso del framework per la sessione è:

Configurazione relativa alla sessione

cookie_domain

None

Dominio usato nel cookie di sessione.

cookie_path

None

Percorso usato nel cookie di sessione.

cookie_lifetime

12

=0: per sempre, ignora l'impostazione 'remember_me'; >0: n ora o per sempre se l'utente ha selezionato 'remember_me'; <0 -n ore, ignora l'impostazione 'remember_me'.

anonymous_session_lifetime

non definito

Impostare a un valore diverso da zero per abilitare le sessioni anonime (può essere anche un valore frazionario) [ore].

(!) Se viene eseguita una wiki farm e si desidera condividere il cookie di sessione tra i wiki nella farm, è utile modificare cookie_domain e/o cookie_path.

(!) Affinché gli utenti anonimi possano usufruire delle caratteristiche della sessione normale, impostare anonymous_session_lifetime.

Sostituire l'archiviazione della sessione

Se si desidera archiviare i dati di sessione in una posizione diversa rispetta la cache nel file system usata da Moin, è possibile usare DefaultSessionHandler con le diverse classi fino a DefaultSessionData. Per maggiori informazioni, consultare il file MoinMoin/session.py.

È anche possibile, ma non raccomandato, utilizzare un gestore di sessione diverso.

Codice di esempio

Per usare le variabili di sessione, un programmatore di estensioni può usare request.session come un dizionario, i valori lì archiviati sono salvati automaticamente e ripristinati se è disponibile una sessione. Sono possibili utilizzi più avanzati, consultare MoinMoin.session.SessionData nel file MoinMoin/session.py.

Ecco un esempio di macro che fa uso del codice per la sessione:

   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)