Página 1 de 1

falha no logon- entra sem a senha minigui

Enviado: 07 Set 2006 11:35
por kamix
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.

Enviado: 10 Set 2006 18:05
por Daniel
Ola

Código: Selecionar todos

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

Enviado: 16 Set 2006 16:14
por Stanis Luksys
Olá...

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


Valeu.

Enviado: 19 Set 2006 20:26
por Daniel
ai esta a função ela foi usando no exemplo do controle finaceiro da minigui 1.08 feita por Humberto Fornazier

Código: Selecionar todos

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

Enviado: 19 Set 2006 22:44
por Stanis Luksys
Obrigado Daniel.

:xau