Se o tempo da sessão for maior que 60000 sua sessão nunca irá expirar (Session::instance() renova a sessão). Seu tempo tem que ser maior que o lifetime da sessão e você também precisa saber se o cara estava logado antes (se eu acessar diretamente vai redirecionar e mostrar a mensagem que eu estava logado)
2012/7/6 Douglas J.A.M <[email protected]> > Vlw galera fiz uma solução legalzinha, obrigado a todos > > > protected function expirou() { > if (Session::instance()->get('usuario') == NULL) { > Helper_NOTIFICACAO::addNotificacao('info', 'Sua sessão expirou > por inatividade!'); > $retorno = true; > } else { > $retorno = false; > } > > $jsonEncoded = json_encode($retorno); > $this->request->headers('Content-type', 'application/json; > charset=' . Kohana::$charset); > $this->response->body($jsonEncoded); > } > > //js on reayd > setInterval(function(){expirouSessao()}, 60000); > > // funcao js > > function expirouSessao() { > > var retorno = false; > $.ajax({ > type: "POST", > url: '/ajax.php?action=expirou', > data: {}, > dataType: "json", > success: function(data) { > if(data){ > retorno = true; > } > }, > complete: function(){ > if(!retorno){ > console.log('não expirou...') > } else { > console.log('expirou...') > } > } > }); > > > > > > Em quarta-feira, 4 de julho de 2012 21h45min19s UTC-3, felipebastosweb > escreveu: > >> Pow cara .. nunca me liguei nisso .. >> >> Eu simplesmente verifico o usuario no banco e salvo a sessao. >> >> Depois, simplesmente confiro que a sessao existe. >> >> Se a sessao nao existir mais, redireciono pra pagina de login e informo >> que a sessao expirou por inatividade. >> >> Tem a funcao de login e a de logado. >> >> Esta tao transparente .. q nem sei o que rola por tras :) >> >> code.google.com/p/phpscrum/**source/trunk/application/** >> controller/auth.php<http://code.google.com/p/phpscrum/source/trunk/application/controller/auth.php> >> >> Acho que o link é esse ... o codigo ta super simples. >> Em 04/07/2012 21:32, "Douglas J.A.M" <[email protected]> escreveu: >> >>> Alguém aí sabe alguma maneira fácil de implementar isso? Onde quando o >>> lifetime da sessão expirar, e ela for destruida, exibir uma mensagem para o >>> usuário quando ele atualizar a página informando que por inatividade foi >>> deslogado, sei que existem maneiras, mas as que conheço são meio >>> complicadas de se implementar, como o intercambio de cookie + session, ou >>> session + db... >>> >>> -- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>> Php" dos Grupos do Google. >>> Para postar neste grupo, envie um e-mail para >>> [email protected]. >>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]> >>> . >>> Para obter mais opções, visite esse grupo em http://groups.google.com/** >>> group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR> >>> . >>> >> > Em quarta-feira, 4 de julho de 2012 21h45min19s UTC-3, felipebastosweb > escreveu: > >> Pow cara .. nunca me liguei nisso .. >> >> Eu simplesmente verifico o usuario no banco e salvo a sessao. >> >> Depois, simplesmente confiro que a sessao existe. >> >> Se a sessao nao existir mais, redireciono pra pagina de login e informo >> que a sessao expirou por inatividade. >> >> Tem a funcao de login e a de logado. >> >> Esta tao transparente .. q nem sei o que rola por tras :) >> >> code.google.com/p/phpscrum/**source/trunk/application/** >> controller/auth.php<http://code.google.com/p/phpscrum/source/trunk/application/controller/auth.php> >> >> Acho que o link é esse ... o codigo ta super simples. >> Em 04/07/2012 21:32, "Douglas J.A.M" <[email protected]> escreveu: >> >>> Alguém aí sabe alguma maneira fácil de implementar isso? Onde quando o >>> lifetime da sessão expirar, e ela for destruida, exibir uma mensagem para o >>> usuário quando ele atualizar a página informando que por inatividade foi >>> deslogado, sei que existem maneiras, mas as que conheço são meio >>> complicadas de se implementar, como o intercambio de cookie + session, ou >>> session + db... >>> >>> -- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>> Php" dos Grupos do Google. >>> Para postar neste grupo, envie um e-mail para >>> [email protected]. >>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]> >>> . >>> Para obter mais opções, visite esse grupo em http://groups.google.com/** >>> group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR> >>> . >>> >> -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para ver esta discussão na web, acesse > https://groups.google.com/d/msg/kohana-php/-/1YZm5DRRONYJ. > > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]. > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
