Vlw Rodrigo, acredito que será de grande ajuda.

Rodrigo Mota <[EMAIL PROTECTED]> escreveu: Segue abaixo o código que tenho no 
meu botao, gravei o resultado de cada
Campo em variáveis globais definidas na sessão PUPLIC para que outros
forms do meu
Projeto tenha acesso as variáveis.

Uma outra pessoa do grupo fez uma função que pega somente o id do
usuário conectado e sempre que abre um
Form ele verifica o ID na tabela de permissões e vê se ele tem acesso.
Sobre essa forma não recomendo
Pois toda hora que vc abrir algum form será consultado o banco, gerando
então muito trafego(stress no banco)

Do jeito que eu fiz eh soh no login e pronto e armazeno em variáveis
globais.


procedure Tfrmlogin.spdLoginClick(Sender: TObject);

begin
  dm.qr_login.Close;
  dm.qr_login.SQL.Clear;
  dm.qr_login.SQL.Add('SELECT per.per_cadastro, per.per_alter_cad,
per.per_orbitall, per.per_seguranca, per.per_contrato,
per.per_relat_fun, log.log_nome,           log.log_descnivel,
log.log_nivel, count(1) as resultado FROM tb_login log, tb_permissao
per');
  dm.qr_login.SQL.Add('WHERE log_login ='''+edit1.Text+''' AND log_senha
='''+edit2.Text+'''AND log.log_codigo = per.per_codigo GROUP BY
log_nome, log_descnivel,    log_nivel, per_cadastro, per_alter_cad,
per_orbitall, per_seguranca, per_contrato, per_relat_fun');
  dm.qr_login.Open;


  if (dm.dsn_login.DataSet['resultado'] = 1 )then {Verificar se a coluna
resultado vai retornar (1), caso sim o usuário existe}
  begin
      USR_NOME          := dm.dsn_login.DataSet['log_nome']; {Gravar na
Variável Global Nome do usuário}
      USR_DESCNIVEL     := dm.dsn_login.DataSet['log_descnivel'];
{Gravar na Variável Global Desc. do Nível}
      USR_NIVEL         := dm.dsn_login.DataSet['log_nivel']; {Gravar na
Variável Global o Nivel do Usuário}
      PER_CADASTRO      := dm.dsn_login.DataSet['per_cadastro']; {Gravar
na Variável Global se o usuário tem acesso a cadastro}
      PER_ALTER_CAD     := dm.dsn_login.DataSet['per_alter_cad'];
{Gravar na Variável Global se o usuário tem acesso a alteração de
cadastro}
      PER_ORBITALL      := dm.dsn_login.DataSet['per_orbitall']; {Gravar
na Variável Global se o usuário tem acesso a sistema orbitall}
      PER_SEGURANCA     := dm.dsn_login.DataSet['per_seguranca'];
{Gravar na Variável Global se o usuário tem acesso a cadastro de
usuário}
      PER_CONTRATO      := dm.dsn_login.DataSet['per_contrato']; {Gravar
na Variável Global se o usuário tem acesso geração de contrato}
      PER_RELAT_FUN     := dm.dsn_login.DataSet['per_relat_fun'];
{Gravar na Variável Global se o usuário tem acesso impressao de
relatorio}
      frmlogin.Close;
  end else
  begin
      Counter := Counter + 1;
      If Messagedlg('Senha incorreta, deseja
repetir?',mtconfirmation,[mbyes,mbno],0)=mrno
        then Application.Terminate;
      If ( Counter > 3 ) then
        begin
        Application.Terminate;
        end;
      end;
   end;

Rodrigo 

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Paulo Cesar Rohleder
Enviada em: quarta-feira, 13 de julho de 2005 14:12
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Urgente.

Rodrigo ..estou precisando de uma coisa parecida..
Se não for pedir muito, poderia me mandar um exemplo de como voce
fez..?? sou inciante e to apanhando muito...
Obrigado pela atenção...
  ----- Original Message ----- 
  From: Rodrigo Mota 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, July 13, 2005 12:51 PM
  Subject: RES: [delphi-br] Urgente.


  Kara blz

  Eu fiz de um jeito que fica mais flexível 

  Criei uma tabela de:


  login
  permissoes

  exemplo pra vc

  (tb_login) nome da tabela
  log_codigo - Código autoincrement com chavePri
  log_nome - Nome do usuário (caso vc queira que apareça na status bar)
  log_login - Login do usuário
  log_senha - Senha do usuário 
  log_status - Status do usuário se for 1-Ativado - 0 Desativado

  (tb_permissoes) nome da tabela
  log_codigo - aki eu coloco o código da tb_login (Faço um
relacionamento)
  per_cadastro - Acesso a cadastro
  per_relatorios - Acesso a relatórios
  per_compra - Acesso a compras
  per_produtos - Acesso a cadastro de produtos


  Isso é um exemplo simplificado do que eu tenho.


  Na tela de login vc faz um selec e coloca a coluna das em variáveis
pra
  vc controlar depois na outra tela
  Quem tem permissão e quem não tem.... e tal.

  Espero ter ajudado um pouquinho


  Rodrigo 

  -----Mensagem original-----
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  Em nome de plucaslazaro
  Enviada em: quarta-feira, 13 de julho de 2005 09:32
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Urgente.

  Bom dia Rubem

  Olhe qto ao controle de usuários, vc pode criar uma tabela contendo o
  nome 
  do usuario, a senha, quais opções do menu ele podera acessar e um
campo
  com 
  nível de acesso, vc cadastra cada usuário com seu login e senha e vai
  dando 
  a eles as opções que cada um poderá utilizar no seu sistema. Tipo
assim.

  codigo
  nome
  nivel de acesso
  clientes
  fornecedores
  produtos
  relatorios
  backup
  etc...

  niveis de acesso pode ser 1-acesso total   2-acesso somente para ver 
  registros, sem altera-los e 3-nao pode acessar.

  Paulo
  ----- Original Message ----- 
  From: "Rubem Nascimento da Rocha" <[EMAIL PROTECTED]>
  To: <delphi-br@yahoogrupos.com.br>
  Sent: Tuesday, July 12, 2005 6:06 PM
  Subject: Re: [delphi-br] Urgente.




        
        
              
  _______________________________________________________ 
  Yahoo! Acesso Grátis - Internet rápida e grátis. 
  Instale o discador agora! http://br.acesso.yahoo.com/ 


  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




    _____  

  Links do Yahoo! Grupos
  *         Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/delphi-br/
    
  *         Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]
  <mailto:[EMAIL PROTECTED]> 
    
  *         O uso que você faz do Yahoo! Grupos está sujeito aos Termos
do
  <http://br.yahoo.com/info/utos.html>  Serviço do Yahoo!. 


  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




------------------------------------------------------------------------
------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]




  _____  

Links do Yahoo! Grupos
*         Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  
*         Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> 
  
*         O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
<http://br.yahoo.com/info/utos.html>  Serviço do Yahoo!. 


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]




---------------------------------
Links do Yahoo! Grupos

   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
  
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 




                
---------------------------------
Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora!

[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a