Ivo, será que não ficará muito tráfego na rede ? Pois além de toda hora que a app precisar de algo ela terá que reconecrar, excetutar algo e desconectar também teremos um timer (a cada n minutos) para validação do login ?

Marco Antonio

ivo nascimento escreveu:
oi,
ja usei esse tipo de controle em aplicacoes php e Borland Delphi e obtive sucesso, caso voce fique preocupado que o cliente tente em menos de 5 minutos, basta reduzir o tempo de validacao do timestamp. a operacao de validar o registro do login na tabela de logado eh muito simples e nao vai pesar nem no cliente nem no banco.


2009/1/12 marco <[email protected] <mailto:[email protected]>>

    Ivo, pelo que entendi você sugeriu algo como:
    Crio uma tabela para registrar quem está logado e a app atualisa o
    time stamp a cada 5 minutos ( por exemplo ).

    No caso se um novo login e o registro existir na tabela mas o
    tempo for maior que 5 minutos, isso indica que a conexão terminou
    de forma anormal. então loga normalmente. Caso sontrário o usuário
    está logado. Mesmo que o usuário tenha se desconectado de forma
    anormal, teria que aguardar completar o tempo (5 minutos) para
    logaar novamente.

    É isso ?

    Você usa este tidpo de controle ?

    Grato.

    ivo nascimento escreveu:

    Eu resolveria(sugeriria) esse seu problema, se voce desejasse
    resolver do lado do banco, com uma tabela de logados, em que
    quando uma pessoa loga cria um registro com o timestamp e ip da
    maquina...
    em cada operacao ou em um gatilho na propria aplicação rodando em
    determinado período, voce atualiza esse timestamp de acesso.
    assim que alguem tenta logar voce pergunta para essa tabela se
    aquele login ja esta em uso e se o periodo do lastaccess esta
    valido, se estiver tudo certo, nega o login, senao, bloqueia o
    login com aviso de usuario ja logado.

    o timestamp e sua atualizacao periodica serve para o caso de
    travamentos do desktop em que o usuario nao teve como sair da
    aplicacao e a chave ficaria esquecida la, invalidando o usuario
    ate uma limpeza manual.

    no exit da aplicacao dispare um evento que delete registro na
    tabela de logados...
    acho essa uma solucao elegante... mas com certeza vão haver
    muitas outras solucoes.
    2009/1/12 marco <[email protected] <mailto:[email protected]>>

        Pessal estou com o seguinte dilema:
        Tenho alguns cliente que me pedem para que cada usuário se
        conecte ao sistema em uma máquina por vez. Para resolver o
        problema, criei os usuários da minha app como usuários do PG
        pois desta forma quando um usuário tentar efetuar o login na
        app, ela pergunta ao PG se o usuário já está logado, se não
        estiver logado a entrada no sistema continua (a conexão fica
        aberta até a app ser finalizada) caso contrário e entrada é
        barrada e ele é avisado que seu login está aberto em outra
        máquina.
        mas recentemente venho estudando o C# e tenho notado que
        ninguem utiliza uma conexão permanente ao banco de dados.
        todos tem seus ótimos argumentos.

        Gostaria de saber a opinião de vocês:
        Pensando no controle que preciso, é arriscado manter uma
        conexão permanente com o banco ?

        Se este procedimento for ruim e o melhor for o que o mundo c#
        diz: Conecte, pegue o que quer e desconecte. Como fariamos
        para manter o controle em que o usuário só possa ficar
        conectado em uma máquina.

        Não sei se fui claro mas ficaria muujuuuito grato em ler o
        parecer de vocês

        Obrigado.
-- *Marco Antonio J. Victor*
        Fone/Fax: *11 2977-5406*
        www.tactor.com.br <http://www.tactor.com.br>


        _______________________________________________
        pgbr-geral mailing list
        [email protected]
        <mailto:[email protected]>
        https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- Ivo Nascimento - Iann
    -------------------------------------
    |   twitter: ivonascimento .     |
    |   http://ianntech.com.br.      |
    |   ZCE ID 227463685            |
    -------------------------------------
    ------------------------------------------------------------------------
    _______________________________________________ pgbr-geral
    mailing list [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    ------------------------------------------------------------------------
    Nenhum vírus encontrado nessa mensagem recebida. Verificado por
    AVG - http://www.avgbrasil.com.br Versão: 8.0.197 / Banco de
    dados de vírus: 270.10.6/1888 - Data de Lançamento: 12/1/2009 07:04

--

        *Marco Antonio J. Victor*
    Fone/Fax: *11 2977-5406*
    www.tactor.com.br <http://www.tactor.com.br>


    _______________________________________________
    pgbr-geral mailing list
    [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




--
Ivo Nascimento - Iann
-------------------------------------
|   twitter: ivonascimento .     |
|   http://ianntech.com.br.      |
|   ZCE ID 227463685            |
-------------------------------------
------------------------------------------------------------------------

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
------------------------------------------------------------------------


Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - http://www.avgbrasil.com.br Versão: 8.0.197 / Banco de dados de vírus: 270.10.6/1888 - Data de Lançamento: 12/1/2009 07:04


--
        *Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a