Clipper On Line • Ver Tópico - falha no logon- entra sem a senha minigui
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

falha no logon- entra sem a senha minigui

07 Set 2006 11:35

olha grupo tenho uma função de acesso que retirei do sample da minigui
do sistema finance 1.0

mas esta com um problema apos ter gravado a senha, quando vou entrar
digito o login mas não digito nada no campo senha e entra igual mesmo
tendo senha cadastrada li a respeito deste bug em algum forum mas
lembro onde foi se alguém souber a solução favor postar para mim
obrigado.

10 Set 2006 18:05

Ola
Código:
Function Verifica_Login()
   Local cUser   := AllTrim(  Form_acesso.p_User.Value        )
   Local cPass   := AllTrim(  Form_acesso.p_password.Value )
              Local aStatusDoUsuario := {}

   *** Se o TextBox p_User não foi informado
   If Empty( cUser ) .Or. Empty(cPass) //coloque aqui mais uma comparação de senha vazia
      MsgINFO("Usuário ou Senha não informado!!",SISTEMA)
      Form_acesso.p_user.SetFocus
      Return Nil
   EndIf

   *** Posiciona o Arquivo Accesso no Indice 2 - Indexado por Apelido
   Acesso->(DBSetOrder(2))

   *** Se o Apelido digitado em TextBox p_User for encontrado
   If Acesso->(DBSeek( cUser ))

      *** Decriptografa a Senha do usuário armazenada no arquivo e compara com a senha digitada

      If cPass != Decripta( Acesso->Senha ) // mude a orden da comparação

         *** Se for diferente, envia mensagem e posiciona o cursor no campos p_password
         MsgInfo("Senha de acesso Inválida!!",SISTEMA)
         Form_acesso. p_password .SetFocus
         Return Nil

      EndIf

      ** Se a senha for válida,  efetua o release da janela de Login
      Release Form_acesso

   Else             

      ** Se o usuário/Apelido não existir, emite mensagem e posiciona o cursor em p_User
      MsgInfo("Usuário: "+cUser+" não Cadastrado!!",SISTEMA)
      Form_acesso.p_User.SetFocus
      Return Nil

   EndIf

16 Set 2006 16:14

Olá...

E o que vem a ser a função Decripta()? O que faz ela e como obtemos seu código?


Valeu.

19 Set 2006 20:26

ai esta a função ela foi usando no exemplo do controle finaceiro da minigui 1.08 feita por Humberto Fornazier


Código:
Function Decripta( cPalavra )
   Local nTam   := 0
   Local cChave   := "@#$%*"
   Local cCripitado   := ""
   Local i      :=0
   cPalavra := Iif( Empty( cPalavra ), "Ze Coolmeia", cPalavra )
   nTam := Len( cPalavra )
   Do While Len( cChave ) < nTam
      cChave += cChave
   EndDo
   cCripitado := ""
   For i := 1 To nTam
      cCripitado += Chr( Asc( SubStr( cPalavra, i, 1 ) ) - Asc( SubStr( cChave, i, 1 ) ) )
   Next
   Return cCripitado
/*
*/
Function Encripta( cPalavra )
   Local nTam   := 0
   Local cChave   := "@#$%*"
   Local cCripitado   := ""
   Local i      :=0
   cPalavra := Iif( Empty( cPalavra ), "Ze Coolmeia", cPalavra )
   nTam := Len( cPalavra )
   Do While Len( cChave ) < nTam
      cChave += cChave
   EndDo
   cCripitado := ""
   For i := 1 To nTam
      cCripitado += Chr( Asc( SubStr( cPalavra, i, 1 ) ) + Asc( SubStr( cChave, i, 1 ) ) )
   Next
   Return cCripitado

19 Set 2006 22:44

Obrigado Daniel.

:xau
Postar uma resposta