Autor Tópico: Usuário deslogado por inatividade (v5)  (Lida 12797 vezes)

Utecnico

  • Novato
  • *
  • Mensagens: 35
Re:Usuário deslogado por inatividade (v5)
« Responder #60 Online: Junho 15, 2016, 10:27:52 am »
Será que ainda consigo uma cópia desse material completo? Em caso afirmativo utecnico
  • gmail.com. Muito obrigado.

walterflorencio

  • Intermediário
  • ***
  • Mensagens: 188
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #61 Online: Junho 16, 2016, 03:41:28 pm »
Também gostaria, se possível, que me enviassem a rotina completa. Obrigado. walter@walterflorencio.com.br

George Carvalho

  • Expert
  • *****
  • Mensagens: 1430
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #62 Online: Junho 16, 2016, 07:25:14 pm »
Sinto muito, não tenho mas as rotinas.
George Carvalho
Porto de Galinhas/PE

robertobru

  • Avançado
  • ****
  • Mensagens: 346
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #63 Online: Junho 16, 2016, 08:32:19 pm »
Salvei aqui na época:

/**  Evento onValidate - Login */
$hora_login = date('Y-m-d H:i:s');
sc_set_global($hora_login);


/**  Evento onExecute() - Menu principal */

// 1º - armazena data e hora atual na variavel hora_now:
   $hora_now = date('Y-m-d H:i:s');

// 2º - captura a hora de login (ou hora da última atualização):
   $hora_login = [hora_login];
   
// calcula a diferença entre hora do login e hora atual:
   $hora_calcula = (strtotime($hora_now) - strtotime($hora_login));

/** verifica se o tempo é maior ou menor que 15 minutos (900 segundos).
- caso seja maior: limpa as variáveis de sessão e de segurança, e redireciona pra aplicação de login (ex: apl_login).
- caso seja menor: atualiza a variável de sessão com a hora atual. */

   if($hora_calcula > 900)
   {
      sc_reset_global([glo_login], [hora_login]);
                   sc_reset_apl_status();
      sc_redir(control.php, "", "_parent");
   }
   else
   {
      $hora_login = $hora_now;
          sc_set_global($hora_login);
   }

robertobru

  • Avançado
  • ****
  • Mensagens: 346
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #64 Online: Junho 16, 2016, 08:34:16 pm »
Pessoal, é isso mesmo?

Utecnico

  • Novato
  • *
  • Mensagens: 35
Re:Usuário deslogado por inatividade (v5)
« Responder #65 Online: Junho 17, 2016, 05:45:01 pm »
robertobru... Muito Obrigado mesmo... Funcionou normal
« Última modificação: Junho 21, 2016, 06:37:29 am por Utecnico »

Haroldo

  • Expert
  • *****
  • Mensagens: 6822
  • Conhecimento diminui limitações.△TFA△
Re:Usuário deslogado por inatividade (v5)
« Responder #66 Online: Junho 19, 2016, 02:19:52 pm »
esse código não vai desativar o usuário por falta de inatividade.

Jailton

  • Expert
  • *****
  • Mensagens: 2321
Re:Usuário deslogado por inatividade (v5)
« Responder #67 Online: Junho 19, 2016, 02:52:49 pm »
Tem que criar um campo, embaixo no rodapé ou em cima do menu principal, usando html e usar o Javascript para monitorar e encerrar a sessão.

Um exemplo do código inteiro em html, podem executar no navegador para ver, depois só ajustar no SC:
Código: [Selecionar]
<!DOCTYPE html>

<html>

<head>
<meta charset="UTF-8">
</head>

<body>

  <div>
   Sua Sessão Expira em <span id="timer">05:00<span> minutes!
   </div>

   <script>
   window.onload = function(){
     var hou = 4;
     var sec = 60;
     setInterval(function(){

       document.getElementById("timer").innerHTML = hou +" : " + sec ;
       sec--;
       if(sec == 00)
       {
         hou--;
         sec = 60;
         if (hou == 0)
         {
            hou = 2;
         }
       }
      },500);
    }
    </script>


</body>
</html>
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 449
Re:Usuário deslogado por inatividade (v5)
« Responder #68 Online: Março 20, 2017, 10:07:38 am »
Tempo atrás um cliente solicitou que o usuário fosse deslogado por inatividade e gostaria que o tempo para a sessão expirar fosse exibido no cabeçalho do menu.
Tentei mais não tinha conseguido criar a rotina como ele queria, agora com a ajuda do nosso colega Leandro Hermann chegamos ao desejado.

O tempo para a sessão ser encerrada é exibido no menu, se o usuário clicar em qualquer item do menu o tempo é restaurado.
Quando o tempo expira por inatividade é exibida no menu a mensagem de “Sessão encerrada por inatividade!” e se o usuário clicar em qualquer item do menu é avisado que a sessão expirou e é direcionado para o Login.

Disponibilizei a rotina para testes em www.qualisistemas.com.br/teste Usuário: demo e Senha 123456.

Para efetuar Login é necessário que ninguém esteja logado na aplicação com o usuário: demo
Conto com a ajuda dos colegas para melhorar a rotina, algo como implementar session do usuário.

Volto a frisar que os méritos são de Leandro Hermann, sem ele a rotina não estaria funcionando.

Quem desejar as aplicações em SC v5 post o e-mail.


Fera envia por favor para meu e-mail se possível...

joeltonsilva@gmail.com

Haroldo

  • Expert
  • *****
  • Mensagens: 6822
  • Conhecimento diminui limitações.△TFA△

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 979
    • Simples Assim
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #70 Online: Março 20, 2017, 04:16:18 pm »
Haroldo, meu parceiro, boa tarde...

Tou pegando o bonde andando, tou sem saco de ler os posts antigos, então vou postar algo aqui e nem sei se é isso o que vocês estão tratando. Vamos lá.

Meu sistema de controle dos usuários funciona da seguinte maneira:

a) No cadastro dos usuários existe um campo que refere-se ao Tempo de Sessão - todo usuário tem um tempo, se ele for ilimitado, basta colocar o tempo como sendo 999999.
b) Criei um um rodapé específico que é a base da HOME do meu sistema (qualquer sistema) - normalmente esse rodapé fica na app "menu principal"
c) Neste rodapé tem uma rotina javascript que tem uma barra de progresso - veja figura abaixo.



Sempre que o usuário permanecer sem atividade pelo tempo pre-determinado no seu registro ele não faz mas nenhuma operação no sistema... ao tentar fazer algo ele informa que o tempo da sessão inspirou e redireciona para a tela de login... O usuário acompanha pela barra de progresso o tempo da sua sessão. Sempre que ele executa alguma coisa (normalmente é a chamada de uma nova app) a barra retorna ao ponto inicial.

É isso o que vcs estão tratando?

Jovito Melo

Jovito Melo
Maceió - Alagoas

Haroldo

  • Expert
  • *****
  • Mensagens: 6822
  • Conhecimento diminui limitações.△TFA△
Re:Usuário deslogado por inatividade (v5)
« Responder #71 Online: Março 20, 2017, 04:27:24 pm »
MQEM (Meu querido e estimado amigo).

Sim é isso mesmo.

Demonstrei um exemplo nesse link, que controla 4 situações:

1) Usuários online
2) Manter o usuário sempre logado (nunca expirta a sessão)
3) Expirar a sessão mas deixar o usuário fechar suas aplicações (não deixa abrir novas apps)
4) Expirar a sessão e redirecionar para o login incondicionalmente.

O fechar pelo browser ou o sair pela aplicação não interfere no controle.

O exemplo usa um js no cabeçalho do menu como sugere.

http://iw.servehttp.com:81/sc81/app/forum_sc/useronline_login/

para testar abrir a aplicação em 2 browsers diferentes com nomes de usuários diferentes.


« Última modificação: Março 20, 2017, 09:01:40 pm por Haroldo »

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 979
    • Simples Assim
    • Email
Re:Usuário deslogado por inatividade (v5)
« Responder #72 Online: Março 20, 2017, 04:35:24 pm »
Fala Brother...

Vou dar uma fuçada durante a noite mas, vindo de você, tenho certeza que tá perfeito...

Atualizei minha versão para V81 na semana passada, nunca mais tinha feito nada... agora tou tendo muitos problemas de travamento, vou tentar resolver isso e dar uma verificada no seu exemplo.

Forte abraço e beijo no seu coração.
Jovito Melo
Maceió - Alagoas