Problemas com login

Delphi

12/08/2003

Estou elaborando um sistema mas preciso utilizar usuários, criei uma tabela de usuarios que fica totalmente desprotegida se por um acaso alguem tentar edita-la (esse é o primeiro problema), e outro é o seguinte:

Criei um formulario de login que eu o chamo no evento onshow do formulario principal e coloco o seguinte codigo:

procedure tform_senha.ok;
begin
if form_principal.tb_usuarioSenha.Value=maskedit1.text then
form_senha.Close else
showmessage(´Senha incorreta, favor verificar´);
end;
procedure TForm_senha.SpeedButton1Click(Sender: TObject);
begin
if form_principal.tb_usuario.FindKey([edit1.text]) then
begin
ok;
end
else
showmessage(´Usuário não Cadastrado´);
edit1.Text:=´´;
maskedit1.Text:=´´;
end;

o problema é que se o usuário fechar o formulário vai abrir o programa do mesmo jeito. e eu não posso colocar no evento onclose deste formulário para que feche o formulario principal caso isso ocorra, porque de gualguer maneira vai fechar o formulário. se alguem puder me ajudar fico extremamente grato.


Machado

Machado

Curtidas 0

Respostas

Marcelo

Marcelo

12/08/2003

Olha ´[b:236aac0dcc]machado[/b:236aac0dcc]´, eu resolveria esse problema da seguinte maneira...
Colaocaria a propriedade ´[b:236aac0dcc]enable[/b:236aac0dcc]´ de todos os botões do formulario principal para ´[b:236aac0dcc]false[/b:236aac0dcc]´, no ato do login, caso a senha e usuário verdadeiro, colocaria as propriedades true!


GOSTEI 0
Machado

Machado

12/08/2003

Não resolveria o problema a aplicação estaria aberta, e mesmo assim o banco de dados de usuários estaria desprotegido caso alguem tentase edita-lo manualmente.


GOSTEI 0
Marcelo

Marcelo

12/08/2003

Não resolveria o problema a aplicação estaria aberta, e mesmo assim o banco de dados de usuários estaria desprotegido caso alguem tentase edita-lo manualmente.


No caso do banco de dados voce pode colocar uma senha atraves do paradox no caso de tabela *.db ou *.dbf. Se ainda assim nao ficar satisfeito com apenas essas senhas que podem sere quebradas facilmente, voce pode coloar criptografia no ato da criação do usuario, apenas para a senha, ou seja, voce estaria criando o usuario normalmente e na hora de salvar, a senha iria para o banco de dados toda criptografada, e quando for fazer login, o programa iria descriptografar a senha e testar se esta correta!

E como assim a aplicacao ainda estaria aberta? Se todos os botoes estao inativos?


GOSTEI 0
Lgerhardt

Lgerhardt

12/08/2003

Eu resolvo esse problema da seguinte forma, deixo no form somente o botao de fechar, crio uma variavel global do tipo boolean (Ex: fechar := False), no onshow do form de login defino essa variavel como false, no evento onClose testo:
if (fechar=false) then
abort
else
close;

no botao de OK do login, se a senha digitada estiver correta, defina a variavel fechar := True e fecha o form normalmente...

Lucas.


GOSTEI 0
POSTAR