Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, gostaria de saber uma forma, de saber quais os usuários estão logados na aplicação, e como impedir que algum que esteja logado em uma maquina, posso efetuar o login em outra ao mesmo tempo.
>
creio que você se refira ao usuário poder logar de diversos browsers, máquinas, abas anônimas, etc...com sessão você tbm controla isso
Discordo.
Tanto que é possível Logar no facebook com uma aba do Chrome e no modo anonimo entrar em outra.
Ou Logar com uma conta administrativa no Wordpress e outra como visitante
Talvez bloqueio por IP?
Mas tem a possibilidade de 2 'maquinas' caírem no mesmo filtro.... da mais dor de cabeça do que resolve.
Acredito que só é possível fazer o basicão pela sessão mesmo.
Fazendo por sessão você já garante o funcionamento abaixo:
(Instancia do Browser XYZ) -> Seu Servidor
Onde cada Browser (levando em conta modo anonimo é um outro browser) possui sua própria sessão.
Ou simplesmente controle isto através de um flag, por exemplo, o padrão é 0, quando a pessoa logar fica 1, neste caso você teria que persistir de alguma forma para validar se a pessoa continua logada (não dá pra contar que o usuário vá clicar em sair). Você pode definir um timeout para o usuário, por exemplo, 5 minutos, se a pessoa ficar mais do que isso sem navegar altera a flag no BD, ai se por acaso ela ainda estiver com a janela aberta, quando tentar navegar o próprio sistema irá conduzir ela ao logout. Também poderia usar comet para ficar persistindo de forma contínua a validação do usuário, mas acho isso desnecessário.
Eu usava uma função que fiz, ela gerava um token.
Esse token era salvo no banco de dados e também nos cookies, que a cada 5 minutos
a função fazia a comparação do token do cookie e do banco de dados..
Se caso fosse diferente mostrava um aviso na tela informando que o login atual não era mais valido.
>
Discordo.
Tanto que é possível Logar no facebook com uma aba do Chrome e no modo anonimo entrar em outra.
Ou Logar com uma conta administrativa no Wordpress e outra como visitante
Talvez bloqueio por IP?
Mas tem a possibilidade de 2 'maquinas' caírem no mesmo filtro.... da mais dor de cabeça do que resolve.
Acredito que só é possível fazer o basicão pela sessão mesmo.
Fazendo por sessão você já garante o funcionamento abaixo:
(Instancia do Browser XYZ) -> Seu Servidor
Onde cada Browser (levando em conta modo anonimo é um outro browser) possui sua própria sessão.
Leia o post do ESerra depois leia o meu novamente, valeu falou...
Reforço...Facebook mantem a sessão aberta...
Ideia minha era só compartilhar o que conheço.
Cada instancia do browser trabalha com sua própria sessão.
editou vlw flw <_<
E quem discordou disso cara? Vamos ler com mais atenção..obs: não editei nada.
A questão é que é uma aplicação de gestão, não posso dar ao luxo de deixar um usuário sair logando quando vezes ele quiser ao mesmo tempo e/ou em varias maquinas.
Quando o usuário faz o login, ele tem uma chave gravada no BD que o identifica na aplicação, só que a chave é verificada apenas quando ele navega,a ideia do ESerra é mais valida para meu propósito, vou tentar e posto o resultado.
Amigo...o português ficou tão ruim que foi quase impossível interpretar sua dúvida!!!
Para saber qual usuário logado no momento recomendo que estude sessões, para bloquear de uma máquina específica...bom creio não ter entendido..."posso efetuar o login em outra ao mesmo tempo." creio que você se refira ao usuário poder logar de diversos browsers, máquinas, abas anônimas, etc...com sessão você tbm controla isso...mas não vejo o problema ...facebook, google, microsoft e all permitem isso..