none
Trigger Sql Server RRS feed

  • Pergunta

  • Estou desenvolvendo um módulo de login e queria implementar uma segurança a mais bloqueando o usuário por um certo tempo quando a senha for digitada errada 3x segudas.
    alguem sabe me dizer como fazer isso atraves de uma trigger ou se eu devo fazer atraves de campos na tabela msm.
    BrunoAlisson
    segunda-feira, 11 de janeiro de 2010 12:03

Respostas

  • Bom Dia,

    Para fazer da forma que você está querendo seria necessário ter uma tabela de tentativas de logon (ou uma coluna com a hora do último logon). Assim, quando ele tentasse se conectar, você verificaria o status e no caso de bloqueado, você verificaria o tempo e veria se ele já poderia ser desbloqueado.

    A idéia do job é interessante, mas tem um problema em potencial. Se temos um job que roda de meia em meia hora, caso o usuário seja bloqueado 1 minuto antes da execução do job, quando o job rodasse ele seria liberado. O job garante apenas um tempo máximo de bloqueio, mas não garante um tempo certo.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Criptografia, Autenticadores e Ataques de Inferência no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!908.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 11 de janeiro de 2010 12:51
    • Marcado como Resposta BrunoAlisson sábado, 23 de janeiro de 2010 21:25
    segunda-feira, 11 de janeiro de 2010 12:51

Todas as Respostas

  • Bom Dia,

    Você está utilizando os próprios usuários do SQL ou tem uma tabela de usuários e senhas ?
    No caso de ter uma tabela de usuários e senhas, há uma tabela de tentativas de logon ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Criptografia, Autenticadores e Ataques de Inferência no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!908.entry


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 11 de janeiro de 2010 12:19
  • Bom Dia,

    Você está utilizando os próprios usuários do SQL ou tem uma tabela de usuários e senhas ?
    No caso de ter uma tabela de usuários e senhas, há uma tabela de tentativas de logon ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Criptografia, Autenticadores e Ataques de Inferência no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!908.entry


    Classifique as respostas. O seu feedback é imprescindível

    Eu tenho uma tabela de usuarios com login e senha e um campo de número de tentativas e um de status.
    Quando estoura o número de tentativas eu seto o status para bloqueado.
    Só que dessa forma o usuário fica bloqueado indefinidamente, eu queria uma forma de liberar ele automaticamente depois de um certo tempo.


    BrunoAlisson
    segunda-feira, 11 de janeiro de 2010 12:26
  • Bruno,

    Uma maneira para vc liberar este acesso após algum tempo, é usando JOBs, vc pode configurar uma job para executar em um determinado horario, ou a cada x minutos onde vc alterar a flag.

    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    segunda-feira, 11 de janeiro de 2010 12:41
  • Bom Dia,

    Para fazer da forma que você está querendo seria necessário ter uma tabela de tentativas de logon (ou uma coluna com a hora do último logon). Assim, quando ele tentasse se conectar, você verificaria o status e no caso de bloqueado, você verificaria o tempo e veria se ele já poderia ser desbloqueado.

    A idéia do job é interessante, mas tem um problema em potencial. Se temos um job que roda de meia em meia hora, caso o usuário seja bloqueado 1 minuto antes da execução do job, quando o job rodasse ele seria liberado. O job garante apenas um tempo máximo de bloqueio, mas não garante um tempo certo.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Criptografia, Autenticadores e Ataques de Inferência no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!908.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 11 de janeiro de 2010 12:51
    • Marcado como Resposta BrunoAlisson sábado, 23 de janeiro de 2010 21:25
    segunda-feira, 11 de janeiro de 2010 12:51