Pergunta

Estou interessado em ter dados que possam ser acessados ​​por meio de todas as minhas visualizações e controladores, mas gostaria que esses dados fossem apagados quando o navegador for fechado ou em uma ação de logout.

A razão para isso é porque quero que minhas visualizações funcionem apenas se uma variável estiver definida.por exemplo:

public function adminAction(){
    if ($rol_type=='admin'){
        $this->renderScript('index/admin.phtml');
    }
    else{
        $this->renderScript('index/adminLogin.phtml');
    }
}

Gostaria também que a visualização admin.phtml não pudesse ser acessada sem que a variável fosse definida como admin, para que ninguém possa simplesmente alterar a URL e acessar o painel de administração.

Eu tenho lido a documentação do framework zend 2 sobre sessão, mas há muitas coisas dentro do módulo de sessão, então não sei o que usar ou onde procurar.

Eu também ficaria muito grato se você pudesse me dizer qual é a melhor maneira de atingir meu objetivo (porque não tenho certeza se essa é a melhor maneira de fazer o que quero).

Foi útil?

Solução

Você pode usar :

use Zend\Session\Container;

No controlador:

$user_session = new Container('mySession');
$user_session->key = "Your Value";

Esta chave pode ser passada para sua visualização ou outros modelos e controladores.

Para recuperar, temos que fazer como:

$user_session = new Container('mySession');
$keyValue = $user_session->key;   //here you will get the value stored above

espero que ajude

Obrigado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top