Opa .. Eu tenho um Controller_Restrito_Template que verifica se esta logado .. ai nas partes restritas .. basta extender.
Eu faria um ajax semelhante, mas verificaria a ultima pagina acessada .. ou uma especifica para "contar" usuarios online. Isso nos controllers restritos ja que todos os meus sistemas sao de acesso restrito. Em 06/07/2012 11:48, "Waldson Patricio" <[email protected]> escreveu: > 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. > -- 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.
