[firebase-br] Exemplo de trigger para proteger o banco

Gladiston Santana gladiston em vidy.com.br
Seg Mar 18 17:47:50 -03 2019


Colega, a trigger é um exemplo, você pode fazer com ela o que quiser, ela é
dispara durante a conexão.
Vamos num exemplo, se quem me conecta não for 'C:\APP\BIN\APP.EXE' então
disconecta com a mensagem 'Lambda lambda lambda':

CREATE OR ALTER  TRIGGER TRG_ON_CONNECT ON CONNECT AS
BEGIN
  if (not exists(select 1 from MON$ATTACHMENTS m where m.MON$ATTACHMENT_ID
= CURRENT_CONNECTION and m.MON$REMOTE_PROCESS='C:\APP\BIN\APP.EXE'))
  then EXCEPTION ERR 'Lambda lambda lambda...'
END

Agora, se vira nos 30 meu colega.


Em seg, 18 de mar de 2019 às 16:43, luapfirebird em yahoo.com.br <
luapfirebird em yahoo.com.br> escreveu:

> Jovem agradeço sua atenção porém o problema não está em criar uma Trigger
> no evento "On Connect" do Banco
> a questão é como fazer para que o banco identifique que minha aplicação
> está se conectando a ele ?
> eu teria que passar algum parâmetro para esse Trigger para a mesma
> identificar um parâmetro como verdadeiro
> caso contrario abortaria com um Except e cancelaria a conexão.
>
> Como Fazer isso ?
>
> Grato.
>
>
>
>
>
> Em segunda-feira, 18 de março de 2019 16:33:47 BRT, Gladiston Santana <
> gladiston em vidy.com.br> escreveu:
>
>
> Este é um exemplo que uso ao conectar-se a base de dados e serve para
> auditar as pessoas que conectam-se ao meu banco registrando o log noutro
> banco de dados, contudo para exemplo de entendimento simplifiquei removendo
> muita coisa, inclusive o external que era para registrar noutro banco foi
> removido.
> Com poucas modificações provavelmente você consegue o que deseja, embora
> considere o que vocês concluiram um método ruim para proteger um banco.
>
> CREATE OR ALTER  TRIGGER TRG_ON_CONNECT ON CONNECT AS
> declare variable L_LOG_START timestamp;
> BEGIN
>   L_LOG_START=CURRENT_TIMESTAMP;
>      IN AUTONOMOUS TRANSACTION DO
>      BEGIN
>         UPDATE OR INSERT INTO ADMIN_USUARIOS_LOG(
>           LOGINNAME,
>           LOG_DATE,
>           LOG_ADDRESS,
>           LOG_TYPE,
>           LOG_START,
>           LOG_FINISH)
>         VALUES(
>           CURRENT_USER,
>           CURRENT_DATE,
>           LEFT (rdb$get_context('SYSTEM', 'CLIENT_ADDRESS'),30),
>           'CONNECT',
>           :L_LOG_START,
>           CURRENT_TIMESTAMP)
>         MATCHING (LOGINNAME, LOG_DATE, LOG_ADDRESS);
>   END
> END
>
> Similar a esta, há outra para quando o usuário se desconecta.
>
> Em dom, 17 de mar de 2019 às 15:37, luapfirebird em yahoo.com.br <
> luapfirebird em yahoo.com.br> escreveu:
>
> Pessoal como eu poderia fazer essa triggerJá pesquisei na Internet mais
> não encontrei Existe como passar um parâmetro na trigger e assim simular um
> tipo de senha onde a aplicação passa um parâmetro na conexão e a trigger
> válida esse para poder se conectar.  Eu gostaria de exemplo pratico.
> Grato.
>
> Enviado do Yahoo Mail no Android
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
>
>
> --
> A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
> Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
> na Melhoria Continua.
>
> Em março de2018 migramos com sucesso para a nova versão da ISO 9001.
>
> Somos a única Empresa Brasileira de Engenharia de Laboratórios com
> certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
> Fabricação e Instalação de Laboratórios.
>
>
>
>
>


-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.



Mais detalhes sobre a lista de discussão lista