welcome: please sign in

Envoyer le contenu de la page

Vous pouvez remplacer le contenu de la page indiquée ci-dessous. Si vous changez le nom de la page, vous pourrez remplacer le contenu d'une autre page. Si le champ donnant le nom de la page est vide, le nom du fichier sera utilisé comme nom de page.

Choisissez le fichier d'où importer le contenu de la page
Nom de la page
Commentaire

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)