Autenticação (Login de acesso)
olá amigos
gostaria de saber como devo proceder com autenticação
pois estou fazendo uma aplicação que obrigatóriamente deverá ter uma autenticação
em um banco de dados com usuario e senha
alguem poderia ajudar
fico grato :D
[b:2cf12c1ebe][color=red:2cf12c1ebe]Título editado pelo Moderador (AZ)[/color:2cf12c1ebe][/b:2cf12c1ebe]
gostaria de saber como devo proceder com autenticação
pois estou fazendo uma aplicação que obrigatóriamente deverá ter uma autenticação
em um banco de dados com usuario e senha
alguem poderia ajudar
fico grato :D
[b:2cf12c1ebe][color=red:2cf12c1ebe]Título editado pelo Moderador (AZ)[/color:2cf12c1ebe][/b:2cf12c1ebe]
[sysop]
Curtidas 0
Respostas
Mmtoor
17/03/2004
Prezado amigo
Gravar login e password em banco de dados pode não ser tão confiável.
Encripte os dados na gravação e desencripte na leitura de login do usuário em seu form principal.
Para localizar o usuário insira dois TEdits com pesquisa incremental. Quando os dados desencriptados nos TEdits forem iguais aos gravados no banco de dados, que devem ser desencriptados por um TTimer, o sistema libera o acesso.
Gravar login e password em banco de dados pode não ser tão confiável.
Encripte os dados na gravação e desencripte na leitura de login do usuário em seu form principal.
Para localizar o usuário insira dois TEdits com pesquisa incremental. Quando os dados desencriptados nos TEdits forem iguais aos gravados no banco de dados, que devem ser desencriptados por um TTimer, o sistema libera o acesso.
GOSTEI 0
[sysop]
17/03/2004
o meu problema eh como fazer isso!!!
GOSTEI 0
Chico Gois
17/03/2004
Beleza!
Que banco de dados vc esta usando?
T+
Que banco de dados vc esta usando?
T+
GOSTEI 0
Linhares
17/03/2004
eu tambem nao sei fazer isso, utilizo banco postgresql!
Obrigado
Obrigado
GOSTEI 0
[sysop]
17/03/2004
Beleza!
Que banco de dados vc esta usando?
T+
é o paradox 7
GOSTEI 0
Wagner
17/03/2004
Colega eu faço dessa forma e funciona perfeitamente, claro voce tem modificar para se adaptar ao seu projeto eu utilizo paradox, e a minha tabela consiste em cod. usuario e senha. O form de login consiste em 2 edit´s (usuario e senha) e dois bitbtn(ok e cancel)
private
fechar:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
formlogin: Tformlogin;
implementation
uses u_cadsenha;
{$R *.dfm}
procedure Tformlogin.BitBtn1Click(Sender: TObject);
begin
if not tabelaUsuario.Locate(´senha;login´,vararrayof([editsenha.Text,editusuario.text]),[]) then
begin
Application.MessageBox(´Ops! Usuario e/ou senha não autorizados!´,´Atenção!´,mb_iconStop+mb_ok);
editsenha.clear;
editusuario.SetFocus;
editusuario.SelStart:=0;
exit;
end
else
begin
fechar:=1;
close;
end;
end;
procedure Tformlogin.FormShow(Sender: TObject);
begin
fechar:=0;
editusuario.SetFocus;
end;
procedure Tformlogin.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tformlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fechar=0 then
application.Terminate;
end;
Manda ver ai, e fala se funcionou
private
fechar:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
formlogin: Tformlogin;
implementation
uses u_cadsenha;
{$R *.dfm}
procedure Tformlogin.BitBtn1Click(Sender: TObject);
begin
if not tabelaUsuario.Locate(´senha;login´,vararrayof([editsenha.Text,editusuario.text]),[]) then
begin
Application.MessageBox(´Ops! Usuario e/ou senha não autorizados!´,´Atenção!´,mb_iconStop+mb_ok);
editsenha.clear;
editusuario.SetFocus;
editusuario.SelStart:=0;
exit;
end
else
begin
fechar:=1;
close;
end;
end;
procedure Tformlogin.FormShow(Sender: TObject);
begin
fechar:=0;
editusuario.SetFocus;
end;
procedure Tformlogin.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tformlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if fechar=0 then
application.Terminate;
end;
Manda ver ai, e fala se funcionou
GOSTEI 0
Chico Gois
17/03/2004
Beleza!
Estou fazendo isso usando o Interbase, acho que é uma questão de adaptar
1- Fiz duas tabelas :
Numa chamada Usuario eu defini, Status, Data de inclusao, Nome, Fantasia, Dpto, Nivel
E outra chamada perfil aonde eu defino o acesso as partes do sistema, tipo pode ou não alterar um registro e por ai vai
depois eu fiz uma tela de login conforme codigo abaixo:
QQ coisa post ai
T+
Estou fazendo isso usando o Interbase, acho que é uma questão de adaptar
1- Fiz duas tabelas :
Numa chamada Usuario eu defini, Status, Data de inclusao, Nome, Fantasia, Dpto, Nivel
E outra chamada perfil aonde eu defino o acesso as partes do sistema, tipo pode ou não alterar um registro e por ai vai
depois eu fiz uma tela de login conforme codigo abaixo:
procedure TLogin.Button2Click(Sender: TObject); begin menuPrin.Close; end; procedure TLogin.Button1Click(Sender: TObject); var strSqlLog: string; mensagem: string; begin strSqlLog:= ´SELECT * FROM usuario,perfil WHERE usuario.nivel = perfil.id ´; strSqlLog:= strSqlLog + ´AND fantasia = ´ + #39 + (valorNome.Text) + 39; strSqlLog:= strSqlLog + ´AND senha = ´ + 39 + (valorSenha.Text) + 39; menuPrin.QueryLogin.Close; menuPrin.QueryLogin.SQL.Clear; menuPrin.QueryLogin.SQL.Add(strSqlLog); menuPrin.QueryLogin.Open; if menuPrin.QueryLogin.FieldByName(´status´).AsString = ´N´ then begin mensagem:= ´Você esta cadastrado no sistema mas não ´ + #13 + ´possui autorização para usa-lo neste momento. ´ + 13 + 13 + ´Consulte o administrador do sistema.´; Application.MessageBox(PChar(mensagem), ´Login não autorizado´, MB_OK+MB_ICONERROR); menuPrin.Close; end else if (menuPrin.QueryLogin.RecordCount) = 1 then begin menuPrin.StatusBar1.Panels[2].Text:= ´ ´ + ´Usuário: ´ + Login.ValorNome.Text + ´ - ´ + menuPrin.QueryLogin.FieldByName(´dpto´).AsString; menuPrin.Logoff.Caption:= ´Logoff de: ´ + menuPrin.QueryLogin.FieldByName(´fantasia´).AsString; menuPrin.Logoff.Hint:= ´Logoff de: ´ + menuPrin.QueryLogin.FieldByName(´fantasia´).AsString; Login.Close; end; if (menuPrin.QueryLogin.RecordCount)= 0 then begin mensagem:= ´Nome ou senha do usuário invalidos.´ + #13 + 13 + ´Se você esqueceu sua senha, consulte ´ + 13 + ´o administrador do sistema.´; Application.MessageBox(PChar(mensagem), ´Login não autorizado´, MB_OK+MB_ICONERROR); ValorSenha.Text:= ´´; ValorSenha.SetFocus; end; end; procedure TLogin.ValorNomeKeyPress(Sender: TObject; var Key: Char); begin if key = 13 then begin SelectNext(ActiveControl, True, True); key:= 0; end; end; procedure TLogin.ValorSenhaKeyPress(Sender: TObject; var Key: Char); begin if key = 13 then begin SelectNext(ActiveControl, True, True); key:= 0; end; end; end.
QQ coisa post ai
T+
GOSTEI 0
[sysop]
17/03/2004
valeu galera vou testar as duas formas e qualquer coisa volto a comunicar
GOSTEI 0
Lorde_morte.
17/03/2004
[quote:e0841fbcdf=´Chico Gois´]Beleza!
Estou fazendo isso usando o Interbase, acho que é uma questão de adaptar
1- Fiz duas tabelas :
Numa chamada Usuario eu defini, Status, Data de inclusao, Nome, Fantasia, Dpto, Nivel
E outra chamada perfil aonde eu defino o acesso as partes do sistema, tipo pode ou não alterar um registro e por ai vai
...[/quote:e0841fbcdf]
Eu nao criei uma tabela minha para guardar os usuarios, eu usei o componente TibSecurityService. Como seria feita a autenticação dos usuarios nesse caso?
Estou fazendo isso usando o Interbase, acho que é uma questão de adaptar
1- Fiz duas tabelas :
Numa chamada Usuario eu defini, Status, Data de inclusao, Nome, Fantasia, Dpto, Nivel
E outra chamada perfil aonde eu defino o acesso as partes do sistema, tipo pode ou não alterar um registro e por ai vai
...[/quote:e0841fbcdf]
Eu nao criei uma tabela minha para guardar os usuarios, eu usei o componente TibSecurityService. Como seria feita a autenticação dos usuarios nesse caso?
GOSTEI 0
Lorde_morte.
17/03/2004
Com o TibSecurity eu ate consigo procurar por uma login do usuario, mas terminada a busca, eu nao consigo pegar a senha para autenticação.
Como autenticar usuarios cadastrados com o TibSecurityService?
Desde ja obrigado!
Como autenticar usuarios cadastrados com o TibSecurityService?
Desde ja obrigado!
GOSTEI 0
Lorde_morte.
17/03/2004
up
GOSTEI 0