Prašome žemiau įvesti savo paskyros nuotoliniame wiki slaptažodį.
/!\ Jūs turėtumėte pasitikėti abejais wiki, kadangi slaptažodis gali būti perskaitytas tam tikrų administratorių.

Išvalyti žinutę
Locked History Actions

AjudaComSessões

Como funcionam as sessões no MoinMoin

As sessões no MoinMoin são implementadas utilizando a framework de autenticação. Para mais detalhes, consulte o tópico AjudaNaAutenticação. Por omissão, a função MoinMoin.auth.moin_session encontra-se na lista config.auth e é responsável pela gestão das sessões. Pode utilizá-la com qualquer outro método de autenticação, se necessitar de sessões.

Como um programador, de forma a utilizar variáveis de sessões, pode utilizar a request.session como um dicionário. Os valores aí armazenados serão guardados automaticamente e restaurados se uma sessão estiver disponível.

O código que utiliza a framework da sessão inclui actualmente:

  • a funcionalidade de "alterar utilizador" do super utilizador, veja o tópico AjudaComSuperUtilizadores

  • o rasto das páginas visitadas

Sessões anónimas

As sessões anónimas são suportadas, ao incluir a função MoinMoin.auth.moin_anon_session no config.auth e configurando o config.anonymous_cookie_lifetime. As cookies das sessões anónimas expiram após as horas definidas em config.anonymous_cookie_lifetime (pode ser parcial), no entanto, o acto de expirar não é verificado. O estado guardado é removido uma hora depois da cookie de sessão expirar.

Substituir moin_session

É possível substituir o moin_session na lista de configuração auth. A autenticação que lidar com a nova sessão deve pedir o request.session baseado numa cookie ou em outros dados. O objecto request.session tem de ser um objecto do tipo dicionário e deve implementar a duração dos dados de sessão, cf. MoinMoin.auth.SessionData.

Exemplo de código de sessão

Eis um exemplo de macros, utilizando o código de sessão:

   1 # -*- coding: iso-8859-1 -*-
   2 
   3 """
   4     Testa o estado da sessão.
   5 """
   6 
   7 Dependencies = ['time']
   8 
   9 def execute(macro, args):
  10     if 'test' in macro.request.session:
  11         return macro.formatter.text(macro.request.session['test'])
  12     import random
  13     value = random.randint(1, 100000)
  14     macro.request.session['test'] = value
  15     return macro.formatter.text("set to value %d" % value)