Garantindo que uma conta d e usuário logue apenas uma vez
18/02/2010
0
Tsy Ltda
Posts
18/02/2010
Netasper
19/02/2010
Tsy Ltda
03/10/2018
Ana Silva
04/10/2018
Emerson Nascimento
Ao fazer login:
+--------------------------------+ | usuário faz o login | | (o sistema recebe também o ip) | +---------------+----------------+ | | \\|/ +-------+--------+ SIM --------+ usuário logado +---------- NAO | +-------+--------+ | | | \\|/ | +-----------+-----------+ \\|/ | avisa o usuário e | +-------------+--------------+ | questiona se continua | | obtém informações de login | | a fazer o login | \\| e gera uma contrasenha, | | (ao continuar o login +-- continua --+ que será enviada ao client | | o anterior será | /|(usuario e contrasenha serão| | cancelado) | | gravados no servidor) | +-----------+-----------+ +----------------------------+ | | não continua | | \\|/ +---------+---------+ | faz nada | +-------------------+
Depois do login efetuado, ao enviar qualquer solicitação ao servidor:
+-------------------------------+ | em todas as solcitações ao | | servidor deverá ser enviado o | | usuário e a contrasenha | +---------------+---------------+ | \\|/ +------------+--------------+ | servidor pesquisa na base | ENCONTROU -------+ de dados se há login +-------- NAO ENCONTROU LOGIN | ativo para o usuário | LOGIN | +---------------------------+ | | | \\|/ | +-----------+----------+ | | verifica se a | \\|/ | contrasenha recebida | A CONTRASENHA \\+----------+----------+ | é aquela gravada no +---------- ESTÁ ERRADA ---------+ avisa que a sessão | | servidor | /| está expirada | +-----------+----------+ +---------------------+ | | A CONTRASENHA ESTA CORRETA | | \\|/ +----------+-----------+ | atende à solicitação | | do usuário | +----------------------+
Ao efetuar logoff
+-----------------------------+ | solicita o logoff, enviando | | usuário e a contrasenha | +--------------+--------------+ | \\|/ +------------+--------------+ | servidor pesquisa na base | ENCONTROU -------+ de dados se há login +-------- NAO ENCONTROU LOGIN | ativo para o usuário | LOGIN | +---------------------------+ | | | \\|/ | +-----------+----------+ | | verifica se a | \\|/ | contrasenha recebida | A CONTRASENHA \\+----------+----------+ | é aquela gravada no +---------- ESTÁ ERRADA ---------+ avisa que a sessão | | servidor | /| está expirada | +-----------+----------+ +---------------------+ | | A CONTRASENHA ESTA CORRETA | | \\|/ +----------+-----------+ | apaga o registro | | de login do usuário | | e finaliza o acesso | +----------------------+
Acredito que desta forma você consiga manter o usuário logado apenas uma vez no sistema. Até seria possível um usuário entrar duas vezes, mas assim que a segunda instância entrar, o acesso da primeira torna-se inválido (cada novo login invalida o anterior).
Clique aqui para fazer login e interagir na Comunidade :)