Bom dia,
Existe um maneira de verificar se o usuário já se encontrada conectado na aplicação e evitar que este conecte-se em dois browsers diferentes?
Como seria isto?
[]´s
Bom dia,
Existe um maneira de verificar se o usuário já se encontrada conectado na aplicação e evitar que este conecte-se em dois browsers diferentes?
Como seria isto?
[]´s
Ola tiago,
esse tipo te controle eh muito delicado, vc pode utilizar o context (javax.servlet.ServletContext usando getServletContext das Servlets) para armazenar os Usuarios logados (usando synchronized porque o context eh compartilhado), quando ele sair do seu sistema e clicar em logoff vc tira ele do context e se ele tentar logar em dois browsers vc verifica no context e nao permite.
Agora vamos levantar os problemas:
Quantas vezes os usuarios clicam em logoff? A resposta eh quase nunca, normalmente eles fecham o browser ou vao para outro site, logo fica impossivel perceber que ele se foi e retirar o cara do context. Uma maneira de fazer isso eh escrever um listener de session e quando a session morrer vc tira o cara do context mas isso nos poe no caso 2:
E se ele clicar acidentalmente e fechar o navegador? Quando ele tentar voltar, com uma outra janela. o sistema vai achar que ele ainda esta logado e nao vai permitir, caso vc tenha feito o listener de session o cara vai ter que esperar passar o time out para logar novamente.
Vc pode “dificultar as coisas”, por exemplo, nao usar links no seu site, usar apenas botoes de submit como o banco itau, isso dificulta o esquema abre janela, mas nada que um ctrl+n nao resolva 
Ou fazer uma logica monstruosa em JavaScript para avisar o sistema se o cara sair da pagina, coisa que nao se resolve se ele usar dial-up e a conexao cair, quando ele voltar vai cair no problema 2.
Então meu amigo, esse tipo de controle na minha opiniao eh inviavel, desenvolvo apps para web desde 97, e nunca vi um site que consiga fazer isso de maneira eficaz.
Aconselho vc a desenhar a sua app para permitir esse tipo de acesso.
[i]Lembrando a todos que HTML nao foi feito para criar aplicacoes web, foi feito para visualizacao de documentos simples e envio basico de dados para o server, soh que como a web cresceu rapido e assim exigiu, criaram-se varias “adaptacoes tecnicas” para possibilitar um certo dinamismo nesse mundo.[/i]
Logo infelizmente ele nao tem tudo que nós desenvolvdores precisamos.
Abraco,
Ae claudio valeu pelas dicas.
Serão utéis.
Não sei se voce deu uma olhada em um outro topico que postei sobre a sincronização dos metodos getAttribute() e setAttribute() pelo Tomcat 4.0, voce saberia algo sobre isto?
[]´s
Nao achei o topico.
Abraco,