MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Compartilhe

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Sex 19 Maio 2017, 02:29

    Pessoal vi vários exemplos de sistema de login com usuário, senha e até nível de acesso.
    Porem preciso que alem dessas funcionalidades esses sistema bloqueie o usuário ao digitar a senha errada 3 vezes e solicite a troca a cada 3 meses. Como faço isso?
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sex 19 Maio 2017, 08:25

    Olá Josuel, Bem-Vindo ao fórum.

    Quanto ao bloqueio que tipo de bloqueio pretende fazer, exemplos:
    a) bloquear para administrador do sistema depois desbloquear
    b) ao fim 3 tentativas:
    b1) Sai do aplicativo
    b2) Vloqueia durante x minutos, horas ou dias

    Quanto à segunda questão, deverá ter um campo DtUltimaSenha no ficheiro de utilizadores/usuarios que pode ser verificadoquando faz o login, se a data do sistema for superior a 3 meses passa para o formulario para alaterar a password.

    Abraço
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  JPaulo em Sex 19 Maio 2017, 11:48

    Josuel, seja bem vindo ao forum;

    Primeiramente leias as regras do fórum e aproveite sempre para efetuar uma busca no fórum, antes de abrir qualquer tópico;

    [Você precisa estar registrado e conectado para ver este link.]


    Exemplo depositado aqui desde 2009;

    [Você precisa estar registrado e conectado para ver este link.]



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Sex 19 Maio 2017, 12:27

    Obrigado pelas dicas pessoal, vou tentar ser mais acertivo.

    1) Quanto ao bloqueio que tipo de bloqueio pretende fazer, exemplos:

    a) bloquear para administrador do sistema depois desbloquear

    Resposta:  

    Isso mesmo, preciso que apos o usuario tentar fazer login de acesso e ao digitar a senha errada 3 vezes o usuario fique bloqueado para um administrador poder desbloquear. Isso evitaria que o usuario ficasse tentado digitar senha atá acerta...

    b) ao fim 3 tentativas:

    b1) Sai do aplicativo
    b2) Vloqueia durante x minutos, horas ou dias

    Resposta:

    Apos 3 tentativas e não acertar a senha, o ideal é exibir uma mensagem que o usuario foi bloqueado e para ele contactar um administrador.

    2) Quanto à segunda questão, deverá ter um campo DtUltimaSenha no ficheiro de utilizadores/usuarios que pode ser verificadoquando faz o login, se a data do sistema for superior a 3 meses passa para o formulario para alaterar a password.

    Resposta:

    É isso mesmo que eu preciso, quando o usuario cadastrar uma senha nova, depois de 3 meses o sistema forçar ele a entrar com a alteração da senha.

    como faço isso no código?

    Desde já agradeço!
    Abs!
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  JPaulo em Sex 19 Maio 2017, 13:20

    Você testou o exemplo ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Sex 19 Maio 2017, 14:07

    Olá JPaulo,
    Bom dia!

    Eu testei o exemplo e é muito parecido com o que ja tenho até agora.

    Ja tenho um formulario de controle de acesso que compara se os dados digitados no formulario esta numa tabela de "usuario" e se OK dai libera o acesso para o formulario (tela principal) com o perfil de grupo de acesso do usuario, se não informa que "usuario e senha esta incorreto".

    O que eu estou tentando incluir tambem é que alem das funcionalidades acima:

    1- Alguma rotina para bloquear o acesso/usuario apos 3 tentativas de senha digitada errada.
    2- Solicitar a troca de senha apos 3 meses utilizando a mesma.


    Desde de já agradeço a todos pela ajuda!
    Abs!
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  JPaulo em Sex 19 Maio 2017, 15:33

    O exemplo que lhe queria mostrar não era o acima;

    Veja este, já bem antigo que já tem meio caminho andado.

    Tente errar a senha 3 vezes,

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes? em 19/5/2017, 07:27

    Mensagem  kwerttY em Sex 19 Maio 2017, 22:38

    Valeu JPaulo,

    1) O exemplo que citou clareou minhas ideias e já tenho uma base para tentar um código para bloquear o usuário, permitindo somente o desbloqueio pelo administrador.


    2) Vou tentar ver também um código para forçar o usuário a trocar senha apos 3 meses com a mesma.

    Sabendo de algum código, da um toque por favor.


    Desde de já agradeço!
    E valeu pela atenção! por sempre esta ajudando o pessoal com suas dicas preciosas!

    Abs
    Josuel
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sab 20 Maio 2017, 01:52

    Olá a todos,
    Josuel Santos, com base no último exemplo que o colega JPaulo postou, efetue o seguinte:

    Primeiro criar o campo DataPassword na tabela tblUsers
    [Você precisa estar registrado e conectado para ver este link.]

    Depois no form frmLogin altere o código por este:
    Código:
    Option Compare Database

    Private blnPasswordOK As Boolean
    Private blnClickQuit As Boolean

    Private Sub cmdLogin_Click()
        Dim myDB As DAO.Database
        Dim myQDEF As DAO.QueryDef
        Dim myRST As DAO.Recordset
        Dim strSQL As String
        blnPasswordOK = False

        Me.txtAttempts.Enabled = False

        If IsNull(Me.txtLoginID) Or Me.txtLoginID = "" Then
            MsgBox "Digite o utilizador...", vbInformation
            Me.txtLoginID.SetFocus
            Exit Sub
        End If

        If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
            MsgBox "Digite a password...", vbInformation
            Me.txtPassword.SetFocus
            Exit Sub
        End If

        'ahteixeira  adiconado o campo DataPassword
        strSQL = "SELECT strUserID, strPassword, DataPassword " & _
                 "FROM tblUsers " & _
                 "WHERE strUserID=" & """" & Me.txtLoginID & """" & ";"

        Set myDB = CurrentDb

        Set myQDEF = myDB.CreateQueryDef("")
        With myQDEF
            .SQL = strSQL
            Set myRST = .OpenRecordset()
        End With

        blnUserFound = Not (myRST.BOF And myRST.EOF)

        If blnUserFound Then
            blnPasswordOK = (Me.txtPassword = myRST.Fields("strPassword"))
            'ahteixeira  inicio alteracao
            If blnPasswordOK And Date > myRST.Fields("DataPassword") + 180 Then
                DoCmd.OpenForm "frmMudaPassword", , , , , , Me.txtLoginID
                Forms!frmLogin.SetFocus
                DoCmd.Close
                Exit Sub
            ElseIf blnPasswordOK Then 'ahteixeira fim
                DoCmd.Close
                Exit Sub
            Else
                MsgBox "Password incorrecta..."
                Me.txtPassword = ""
                Me.txtAttempts = Me.txtAttempts + 1
            End If
        Else
            MsgBox "Utilizador não Existe..."
            Me.txtLoginID = ""
            Me.txtPassword = ""
            Me.txtAttempts = Me.txtAttempts + 1
        End If

        Me.txtAttempts.Visible = (Me.txtAttempts > 0)
        Me.lblAttempts.Visible = (Me.txtAttempts > 0)
        Me.Repaint

        bln5attempts = (Me.txtAttempts >= 3)
        If bln5attempts Then
            MsgBox "Esgotadas as 3 tentativas possiveis!!", vbCritical
            blnPasswordOK = True
            DoCmd.Quit acQuitSaveAll
            Exit Sub
        End If

        myRST.Close
        myQDEF.Close
        myDB.Close

    End Sub

    Private Sub cmdQuit_Click()
        DoCmd.Quit acQuitSaveAll
    End Sub


    Private Sub Form_Unload(Cancel As Integer)
        If Not blnPasswordOK Then
            Cancel = True
        End If
    End Sub


    Depois altere o código no form frmMudaPassword por este:
    Código:
    Option Compare Database
    Private blnPasswordOK As Boolean
    Private Sub cmdChange_Click()
        Dim myDB As DAO.Database
        Dim myQDEF As DAO.QueryDef
        Dim myRST As DAO.Recordset
        Dim strSQL As String
        blnPasswordOK = False

        If IsNull(Me.txtLoginID) Then
            MsgBox "Digite o utilizador...", vbInformation
            Me.txtLoginID.SetFocus
            Exit Sub
        End If

        If IsNull(Me.txtPasswordOLD) Then
            MsgBox "Digite a actual password...", vbInformation
            Me.txtPasswordOLD.SetFocus
            Exit Sub
        End If

        If IsNull(Me.txtPasswordNEW) Then
            MsgBox "Digite nova password...", vbInformation
            Me.txtPasswordNEW.SetFocus
            Exit Sub
        End If

        If IsNull(Me.txtPasswordRETYPE) Then
            MsgBox "Repita a nova password...", vbInformation
            Me.txtPasswordRETYPE.SetFocus
            Exit Sub
        End If

        'ahteixeira  adiconado o campo DataPassword
        strSQL = "SELECT strUserID, strPassword,DataPassword " & _
                 "FROM tblUsers " & _
                 "WHERE strUserID=" & """" & Me.txtLoginID & """" & ";"

        Set myDB = CurrentDb

        Set myQDEF = myDB.CreateQueryDef("")
        With myQDEF
            .SQL = strSQL
            Set myRST = .OpenRecordset()
        End With

        blnUserFound = Not (myRST.BOF And myRST.EOF)

        If blnUserFound Then
            blnPasswordOK = (Me.txtPasswordOLD = myRST.Fields("strPassword"))
            If blnPasswordOK Then
                blnNewMatch = (Me.txtPasswordNEW = Me.txtPasswordRETYPE)
                If blnNewMatch Then
                    With myRST
                        .Edit
                        .Fields("strPassword") = Me.txtPasswordNEW
                        .Fields("DataPassword") = Date 'ahteixeira gravar campo data
                        .Update
                    End With
                    MsgBox "Password alterada com sucesso!", vbInformation
                    DoCmd.Close
                    Exit Sub
                Else
                    MsgBox "Nova password não é reconhecida!"
                Me.txtAttempts = Me.txtAttempts + 1
                    Exit Sub
                End If
            Else
                MsgBox "Password incorrecta..."
                Me.txtAttempts = Me.txtAttempts + 1
            End If
        Else
            MsgBox "Utilizador não existe..."
            Me.txtAttempts = Me.txtAttempts + 1
        End If

        Me.txtAttempts.Visible = (Me.txtAttempts > 0)
        Me.lblAttempts.Visible = (Me.txtAttempts > 0)
        Me.Repaint

        bln5attempts = (Me.txtAttempts >= 3)
        If bln5attempts Then
            MsgBox "Esgotadas as 3 tentativas possiveis!!", vbCritical
            DoCmd.Close
            Exit Sub
        End If

        myRST.Close
        myQDEF.Close
        myDB.Close

    End Sub


    Private Sub Form_Open(Cancel As Integer)
        'ahteixeira verificar a passagem do utilizador
        If Not IsNull(OpenArgs) Then
            Me.txtLoginID = OpenArgs
            Me.txtPasswordOLD.SetFocus
        End If
        '----fim
        Me.txtPasswordRETYPE.Enabled = False
    End Sub

    Private Sub txtPasswordNEW_AfterUpdate()
        Me.txtPasswordRETYPE = ""
        Me.txtPasswordRETYPE.Enabled = Not IsNull(Me.txtPasswordNEW)
    End Sub

    As alterações estão comentadas.
    Abraço e bons estudos

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Sab 20 Maio 2017, 13:11

    Meus amigos!
    Bom dia para todos!!!

    @ahteixeira, É isso mesmo o que eu preciso, valeu pela força! Vocês fazem a diferença!!!

    Podem me ajudar com mais uma questão, o código que me enviaste funcionou perfeitamente. Porem não enxerguei como aplicar no meu BD que já esta em desenvolvimento e tem outras funcionalidades "No controle de acesso" como: Controle por nível de acesso (Admin, User, Auditor), Forçar o usuário digitar uma senha complexa, Encapsular a senha com MDHashMd5 para que não seja descoberta vendo na tabela.

    Eu preciso incluir os código que me enviaste anteriormente nesse que já tem essas funcionalidades.

    Estou mandando em anexo para se for possível me ajudar com mais essa questão.

    Desde de já agradeço a todos!
    E enquanto isso vou me divertindo aqui tentando fazer dar certo e aprendendo!

    Abs!
    Anexos
    Controle de Estoque - CQ_Rev_05.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (118 Kb) Baixado 25 vez(es)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sab 20 Maio 2017, 13:57

    Olá Josuel Santos,

    Repare que as minhas alterações (comentadas) também são para estudo.
    Estamos cá para dar a "cana" e "ensinar" a pescar.

    Se pretende manter os projeto que já tem, terá que incluir as novas funcionalidades.
    Acho que deve começar pelo das tres tentativas e bloquear.
    Ainda não respondeu se que apenas sair do programa ou bloquear o utilizador.

    Abraço

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Sab 20 Maio 2017, 15:23

    Muito obrigado pelo ensinamentos @ahteixeira

    Eu pretendo bloquear o usuario/utilizar apos as tentativas de erro, onde somente o Administrador poderá desbloquear.

    Vou mexendo aqui e vendo o que consigo.

    Nem sei como agradecer o apoio!

    Abs
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sab 20 Maio 2017, 19:21

    Olá, então para começar.
    Pode adicionar na tabela de usuários os campos:
    Bloqueado do tipo true/false
    DataPassword para controlar a validade

    Abraço
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sab 20 Maio 2017, 20:48

    Olá Josuel Santos,
    Vamos lá ver o caminho das pedras.

    Na tabela TUsuario crie um campo novo bloqueado do tipo true/false (Sim/Nao)

    No form FLogin, cole o código abaixo e teste:
    Código:
    Option Compare Database
    Option Explicit
    Dim contador As Integer 'ahteixeira

    Private Sub btnSair_Click()
      
      If MsgBox("Deseja encerrar o aplicativo?", _
                  vbQuestion + vbYesNo, "Sair do Sistema") = vbYes Then
        
        Application.SetOption "Perform Name AutoCorrect", True
        Application.Quit
        
      End If
      
    End Sub
    Private Sub btnLogin_Click()

      Dim strSenha As String

      If IsNull(cbxLogin) Then
        MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
        cbxLogin.SetFocus
      ElseIf IsNull(txtSenha) Then
        MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
        txtSenha.SetFocus
      Else
        
        'Realizando a limpeza da senha
        strSenha = limparSenha(txtSenha)
      
        If verificaLogin(cbxLogin, strSenha) Then
            'ahteixera inicio para controlar bloqueado
            If DLookup("bloqueado", "TUsuario", "login='" & cbxLogin & "'") = True Then
              MsgBox "Usuário bloqueado, contate o Administrador. O Sistema vai ser encerrado.", vbExclamation, "Login"
              DoCmd.Quit
            Else 'fim
              DoCmd.Close
              DoCmd.OpenForm "FPrincipal"
            End If
        Else
          contador = contador + 1 'ahteixeira, acrescentar tentativas ao contador
          MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
          txtSenha.SetFocus
          
          If contador >= 3 Then 'ahteixeira bloqueia
              'verifica se foi introduzido um usuario valido
              If Nz(DCount("login", "TUsuario", "login='" & cbxLogin & "'"), 0) > 0 Then
                MsgBox "Usuário foi bloqueado, contate o Administrador. O Sistema vai ser encerrado.", vbCritical, "Login"
                'consulta para marcar na tabela que usuario bloqueado
                DoCmd.RunSQL "UPDATE TUsuario SET bloqueado = True WHERE login = '" & cbxLogin & "'"
                DoCmd.Quit
              End If
          End If
     
        End If
        
      End If
     
    End Sub

    Não se esqueça de ver o código comentado.
    Abraço

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Dom 21 Maio 2017, 16:18

    Show!

    @ahteixeira

    Estou incluindo no projeto os códigos enviados, obrigado pelos comentários!
    Esta dando tudo certo!

    Assim que concluir aqui, compartilho exemplo! e se surgir mais dúvidas tbm!

    Abs e tenham todos uma ótima semana!
    Josuel

    kwerttY
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/08/2010

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  kwerttY em Qua 12 Jul 2017, 18:09

    Olá meus mestres!!!

    Continuo precisando da ajuda de vocês, para o meu desenvolvimento!
    Espero um dia poder colaborar com outros usuarios assim como vcs colaboram comigo.

    Segue abaixo o desafio que eu estou tentando resolver:

    #Hoje ao acessar o meu banco de dados:

    Um formulario (FLogin) é aberto, para o usuario informar seus dados de acesso (Login e Senha).

    Se o usuario informar o "Login" e a "Senha" correta, e for o primeiro acesso, é solicitada a troca da senha e após a troca da senha é aberta a tela principal (FPrincipal).

    Se o usuario informar o "Login" e a "Senha" correta, e não for o primeiro acesso, e aberta a tela pricipal( FPrincipal).

    Se o usuario digitar o "Login" e a "Senha" incorreta, é exibida a msg que a senha digitada esta incorreta e ao clicar em Ok, volta para o formulario (FLogin).

    #Isso é hoje.

    #Porem vou precisar incluir as seguintes funcionalidades, além das que já existem:

    #1

    Ao verificar que as informações de "Login" e a "Senha" estão correta, verificar se a "Senha" também já esta sendo utilizada a mais de 90 dias.

    E

    Caso sim, solicitar troca.

    Caso não, é aberta a tela principal (FPrincipal).

    #2

    Ao informar "Login" e a "Senha" correta, verificar se o "Status" do usuario na tabela (TUsuario) encontra-se como "Status" bloqueado.

    E

    Caso sim, exibir uma msg: "Usuario Bloqueado, Contactar o Administrador do Sistema". Apos clicar em OK na caixa de msg, Sair do Sistema.

    Caso não, é aberta tela principal (FPrincipal).

    #3

    Ao informar "Login" e a "Senha" incorretar 5 vezes, marcar na tabela (TUsuario) o "Status" como bloqueado, e exibir uma msg: "Usuario Bloqueado, Contactar o Administrador do Sistema". Após clicar em OK na caixa de msg, Sair do Sistema.

    ============================================================

    Já encontrei varios exemplos aqui no site em alguns foruns porém, ainda não conseguir adpatar ao meu código já existente sem que afetasse as outras funcionalidades.

    por exemplo:

    - Ao tentar incluir o código para quando fosse digitada 5 vezes a senha errada marcar na tabela (TUsuario) "Status" como bloqueado, ficava aparecendo um mensagem informando que um registro seria alterado e dava erro.

    - Não conseguir fazer com que quando o usuario informasse os dados de acesso correto, se ele estivesse bloqueado, não aparecesse a tela principal.
    - Não conseguir fazer com que checasse se a senha já estivesse sendo utilizado a mais de 90 dias, solicitar troca.

    Estou disponibilizando o código, caso alguem possa dar um força eu agradeço!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: Como criar Form de Login com bloqueio do usuario ao digitar senha errada 3 vezes?

    Mensagem  ahteixeira em Sab 15 Jul 2017, 08:41

    Olá Josuel Santos,
    Não deve colocar tantas perguntas de uma só vez, vários temas, fica dificil para ajudar.
    Estou com o 2007 e não consigo abrir o projeto da mensagem nº 10.

    Concentrado-nos no que precisa "hoje":

    Se o usuario informar o "Login" e a "Senha" correta, e for o primeiro acesso, é solicitada a troca da senha e após a troca da senha é aberta a tela principal (FPrincipal).
    Para isso vai ter que criar um campo na tabela de usuarios para controlar se é p primeiro acesso.
    Será algo identico como tem no código da mensagem nº 14 para o "bloqueado"

    Se o usuario informar o "Login" e a "Senha" correta, e não for o primeiro acesso, e aberta a tela pricipal( FPrincipal).
    Se o usuario digitar o "Login" e a "Senha" incorreta, é exibida a msg que a senha digitada esta incorreta e ao clicar em Ok, volta para o formulario (FLogin).

    No código da mensagem nº 14 já vejo a fazer estas duas questões.

    Devo lembrar que não falta exemplos no forum das questões e exemplos já a funcionar.
    Portanto use e abuse da "Busca" do fórum:
    [Você precisa estar registrado e conectado para ver este link.]

    Abraço

      Data/hora atual: Ter 21 Nov 2017, 21:05