DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi
ou 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.

[fechar]

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.

Listar todos os posts de Rad Studio 2007-DBX4 e Firebird 2.0-Aplicação comercial de vendas(básico) do Inicio ao Fim

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,...
O que você achou deste post?

    19 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Sergio Araujo
Ola Rodrigo Blz...
 
Bem continuando seguindo o passo a passo do nosso curso, estou vendo que a cada dia gosto mais da forma em que vc leciona...
 
Gostaria antes de comentar o erro dizer que estou utilizando o Delphi 2009 para fazer esse Sistema Comercial e abaixo reporto o erro qdo informo o Usuario e Senha:
 
Invalid Argument: DBVendas.
 
Poderia me dar uma luz para que eu possa resolver esse erro?
 
Obs: vc ainda não acertou o campo PREFILID ... rsrsrs
 
 
Abraços...
[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Olá Sergio !!!!
 
Seguinte tem um driver TDBoDBX para Delphi 2009. Ja baixou ????
 
La no site do thiago borges tem o link !!!
 
Agora manda os seus fontes para meu email que dou uma olhada pra vocÊ!!
 
abs !!!!
[há +1 ano] - Responder
 

Saverio Vertoni
ola Rodrigo tudo legal
 
primeiramente queria agradecer pelas aulas q tem ministrado, onde vc passa grandes truques e muito conhecimento , com isso vc tem mostrado ser um cara despreendido com coisas pequenas e q tem uma mente previlegiada .
 
aqui tenho usado o delphi 2009 para acompanhar o curso
quando chamo um form assim
 
 
  FrmCliente := TFrmCliente.Create(Self,Acoes);
  FrmCliente.ShowModal;
  FreeAndNil(FrmCliente);
 
da o seguinte erro :
 
[DCC Error] uFrmPrincipal.pas(102): E2034 Too many actual parameters
[DCC Fatal Error] Administrativo.dpr(19): F2063 Could not compile used unit 'uFrmPrincipal.pas'
meu projeto aqui esta com o nome administrativo
 
 
agora quando chamo assim
 
  Application.CreateForm(TfrmCliente, frmCliente);
  try
    frmCliente.showmodal;
  finally
   frmCliente.free;
  end;
 
ai roda legal, teria uma ideia do q estou fazendo errado
 
obrigado
abracao
[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Olá amigo !!
 
O formulario de Cliente nao pede um action list.  Enteo tem que cria-lo assim:
 
FrmCliente ;= TFrmCliente.Create !!!
 
 
So o form de Perfil pede o ActionList !!!!
 
 
Abs !!!!!
[há +1 ano] - Responder
 

Saverio Vertoni
ola Rodrigo
e verdade o form frmperfil chama o form sem problema, da maneira q vc chama no curso
e quanto aos outros forms na sessao private declarei       FAcoes: TCustomActionList;
e na sessao public
    constructor Create(AOwner: TComponent;
      ActionList: TCustomActionList);reintroduce;
 
implementei o constructor
constructor TFrmCliente.Create(AOwner: TComponent;
  ActionList: TCustomActionList);
begin
  inherited Create(AOwner);
  FAcoes := ActionList;
end;
 
ai passou a chamar sem problemas, entao vou ter q fazer isso em todos os forms ??
 
obrigado pela dica
grande abraco
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Nao precisa amigo !!!!

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 !!!!
[há +1 ano] - Responder
 

Saverio Vertoni
ok Rodrigo, mais 1 vez obrigado
e um grande abraco
ate a proxima
 
[há +1 ano] - Responder
 

Saulo Mendonça Bezerra
Bom Dia Rodrigo,
 
Estou tendo problemas depois que compilo a aplicação e rodo, ela sempre da o erro de senha ou login incorreto, ja verifiquei varias vezes e estao corretos, vc sabe o que pode ser ?
 
Abraços
[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Olá Amigo !!!

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 !!!


[há +1 ano] - Responder
 

Bc3 Tecnologia Em Software Ltda.
Eu to tentando montar essa parte de login mas quando ele executa nao esta verficando se a senha ou o login ta correto entao ele abre o sistema com o usuario e senha errado por favor vc nao tem uma ideia do que esta ocorrendo no meu projeto nao ta funcionando mas no seu esta tudo OK e nao consigo axar o problema
[há +1 ano] - Responder

 

Bc3 Tecnologia Em Software Ltda.
O problema acontece tbm no logoff
[há +1 ano] - Responder

 

Luis Carlos Godinho
Olá!

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.!
[há +1 ano] - Responder
 

Bc3 Tecnologia Em Software Ltda.
Ja foi resolvido tive que inserir na frente da codição do botao de logar um '= true' para ele acertar a condicao
[há +1 ano] - Responder
 

Wesley Yamazack
Olá pessoal da Bc3 Tecnologia Em Software Ltda.
Obrigado pelo comentário!!!

Qualquer dúvida estamos a disposição.
[há +1 ano] - Responder
 

Natanael De Assis Silva
Ola Rodrigo Blz...

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.
[há +1 mês] - Responder

 

Luis Carlos Godinho
Olá Natanael!

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.!
[há +1 mês] - Responder
 

Natanael De Assis Silva
Boa noite. Seque o trecho do código que contem o error, lembrando estou utilizando versão Xe2, caso fique mais claro me informe um E-mail que estarei passando as prints da tela.

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;
[há +1 mês] - Responder
 

[autor] Rodrigo Carreiro Mourão
Olá Amigo o erro de invalid Argument geralmente ocorre quando rodamos uma aplicação de um projeto numa IDE que não em a conexão registrada no DBEExpress. Ou seja, é provável que você não tenha a conexão DBVendas criada no DataExplore. Crie esse conexão para gerar a entrada no DBXConnections.ini.

abs
[há +1 mês] - Responder
 

Natanael De Assis Silva
Ola, boa noite Rodrigo.
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.
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03