falha no logon- entra sem a senha minigui

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

kamix
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 22 Fev 2006 21:23

falha no logon- entra sem a senha minigui

Mensagem 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.
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem 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
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem 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.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem 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
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Obrigado Daniel.

:xau
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Responder