Sessões CGI do Ruby
CGI :: Session podem ser salvos como utilizador e CGI ambiente de estado de sessão persistente, após as sessões precisam ser fechados, assim você pode garantir que os dados são gravados na memória que, quando a sessão for concluída, precisa de apagar os dados.
#!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new("html4") sess = CGI::Session.new( cgi, "session_key" => "a_test", "prefix" => "rubysess.") lastaccess = sess["lastaccess"].to_s sess["lastaccess"] = Time.now if cgi['bgcolor'][0] =~ /[a-z]/ sess["bgcolor"] = cgi['bgcolor'] end cgi.out{ cgi { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
Access "/cgi-bin/test.cgi?bgcolor=red" irá saltar para uma cor de fundo da página específica.
Os dados da sessão existe em um diretório de arquivos temporários no servidor, o parâmetro prefixo especifica o prefixo da sessão, como um prefixo para os arquivos temporários. No servidor de modo que você pode facilmente identificar as diferentes sessões de arquivos temporários.
classe CGI :: Session
CGI :: Session para manter um estado persistente do usuário e do ambiente CGI. Sessão na memória também pode ser no disco rígido.
métodos de classe
Rubi CGI classe Class :: Sessão fornece uma maneira simples de criar sessão:
CGI::Session::new( cgi[, option])
CGI permitir uma nova sessão e retorna o objeto CGI :: Sessão correspondente. Opções de hash pode ser opcional, que podem ser os seguintes valores:
- session_key: Salvar as chaves de sessão por _session_id padrão.
- session_id: Unique ID sessão.gerado automaticamente
- new_session: Se você criar um novo ID de sessão para a sessão atual é verdade.Se for falso, usando a identidade da sessão existente session_id. Se omitido, se disponível, use uma sessão existente, ou a criação de um novo.
- database_manager: Save sessões de aulas, pode ser CGI :: Session :: FileStore ou CGI :: Session :: MemoryStore.O padrão é FileStore.
- tmpdir: Para FileStore, um diretório de armazenamento de falha de sessão.
- prefix: Para FileStore, um prefixo de arquivo de sessão.
Exemplos de métodos
Não. | método Descrição |
---|---|
1 | [] Retorna o valor da chave. Veja exemplos. |
2 | [] = Define o valor da chave. Veja exemplos. |
3 | excluir Delete método chama o gerenciamento de banco de dados subjacente. Para FileStore, exclua o arquivo físico que contém a sessão. Para MemoryStore, remova os dados da sessão a partir da memória. |
4 | atualizar Chamar o método de atualização da gestão do banco de dados subjacente. Para FileStore, a sessão é gravada no disco. Para MemoryStore nenhum efeito. |