Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Video: Rad Studio 2007-DBX4 e Firebird 2.0-Aplicação comercial de vendas do Inicio ao Fim-Parte 25-Telas de Administração e Login do Usuário
O exemplo desenvolvido nesta vídeo aula trata da autenticação de usuários através de um sistema de Login.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Título:
Tempo: 18mim56seg
Mini Resumo: Toda e qualquer aplicação criada hoje em dia possui um controle de acesso através de login por mais simples que seja. A segurança das informações de uma empresa, o nível de acesso dos funcionários a estas informações e uma eventual auditoria no sistema são motivos que nos levam a implementar esta funcionalidade em nossas aplicações. Porém de nada adianta uma simples tela de login se com um Alt+F4 eu consigo fechar a tela de login e acessar o sistema. O login deve ser capaz de identificar o usuário e impedir um usúario não autenticada de acessar a aplicação. O bacana do Delphi é que ele nos permite fazer a mesma coisa de n maneiras diferentes. Nesta vídeo eu mostro uma técnica simples porém eficiente para esta situação.
Metodologia de desenvolvimento do exemplo: O exemplo desenvolvido nesta vídeo trata da autenticação de usuários através de um sistema de Login. Para isso iremos nesta vídeo consumir o métodos Login criados na classe TUsuario e você perceberá que toda a regra definida estará em pleno funcionamento. Eu mostrarei também como utilizar o método ShowModal e ModalResult para que possamos impedir que um usuário não autenticado acesse o sistema.
Tecnologias utilizadas: RadStudio 2007, FireBird2.0, DBX4
Exemplos construídos: Técnica de Login e Administração do Usuário.
Palavras chaves: Delphi2007, DBX4, Login, Segurança, Modal Result.
Rodrigo Carreiro Mourão
Gestor de TI com especialização em gerência de projetos (PMI) e Governança de TI (ITIL e COBIT) pelo instituto Infnet. Embarcadero MVP e Instrutor certificado pela Borland. Graduando-se em Gestão de TI focada em negócios. Grande entusiasta do desenvolvimento orientado a objetos, padrões de projetos,...
19 COMENTÁRIOS
FrmCliente.ShowModal;
FreeAndNil(FrmCliente);
[DCC Fatal Error] Administrativo.dpr(19): F2063 Could not compile used unit 'uFrmPrincipal.pas'
try
frmCliente.showmodal;
finally
frmCliente.free;
end;
ActionList: TCustomActionList);reintroduce;
ActionList: TCustomActionList);
begin
inherited Create(AOwner);
FAcoes := ActionList;
So fiz isso no formulario de perfil pois ele tem que ter acesso a acoes. Nos demais deixe norma. Nao precisa sobrescrever o construtor nãio. Não faz sentido !!!
Basta você criar normalmente. So passa o Acoes no form do perfil !!!!
abs !!!!
As vezes quando assistimos uma video e vamos fazer o exemplo podemos deixar passar um detalhe. Acontece comigo direto quando assisto as videos de outroa autores.
Faz o seguinte da uma revisada no codigo. Principalmento no metodo login da classe usuario. Depure a aplicação tb, assim verá realmente o que acontece !!!
Abs !!!
Aparentemente no código do vídeo não tem problemas. O ideal seria postar a parte do seu código a que se refere para analizarmos e tentar ajudar.
Abs.!
Obrigado pelo comentário!!!
Qualquer dúvida estamos a disposição.
Estou seguindo o passo a passo o curso(obs: não instalei o drive do thiago.., pois o mesmo não tem suporte para versão que estou usando do delphi)
Gostaria antes de comentar o erro dizer que estou utilizando o Delphi xe2 para fazer esse Sistema Comercial e abaixo reporto o erro quando informo o Usuario e Senha:
Invalid Argument: DBVendas.
Poderia me dar uma luz para que eu possa resolver esse erro e dar continuidade ao curso.
Estou usando o drive nativo do Delphi Xe2 no uses da classe esta " uses
Vcl.ActnList, DBXCommon; ".
Desde já muito obrigado.
Tem como realizar um debug e postar o trecho do código onde acontece o erro? Assim daria pra analisar e tentar ver onde esta o problema.
Abs.!
function TUsuario.Login(AUsuario, ASenha: String;
Acoes: TCustomActionList): Boolean;
var
DBCon : TDBXConnection;
Command : TDBXCommand;
Reader : TDBXReader;
begin
DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection ('DBVENDAS','SYSDBA','masterkey'); // O Erro acontece nessa linha.
Command := DBCon.CreateCommand;
Command.Text := 'SELECT * FROM USUARIOS WHERE LOGIN = '+QuotedStr(AUsuario)+
' AND SENHA = '+QuotedStr(ASenha);
Reader := Command.ExecuteQuery;
if Reader.Next then
begin
FID := Reader.Value[0].GetInt32;
FPerfilID := Reader.Value[1].GetInt32;
FNome := Reader.Value[2].GetAnsiString;
FLogin := Reader.Value[4].GetAnsiString;
FSenha := Reader.Value[5].GetAnsiString;
FLogado := True;
FAcoes := Acoes;
if LoadProfile then
Result := True
else
MessageDlg('É ncessário esta logado para invocar esse método', mtWarning, [mbOK],0);
end;
end;
abs
Realmente o problema era no DataExplore, eu havia cadastrado minha conexão com outro nome.
Sua dica funcionou perfeitamente.
Muito obrigado pela atenção, sua videos aulas são muitos boas, continue assim contribuindo para a nossa comunidade.

download

