Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 15 anos, 7 meses atrás por Avatar photoRegis Araujo.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #95415
    CleberAP
    Participante

      Prezados,

      Preciso do seguinte:

      1) Não permitir que o usuário BRASIL acesse o oracle remotamente usando o sql developer.

      2) Permitir que o usuário TESTE acesse.

      Tentei criar trigger que ao logar, ele verifique o modulo e usuario oracle, pegando os dados do v$session …

      Mas não tive resultado.

      Alguém tem alguma dica?

      obrigado.

      #95416
      Avatar photoRegis Araujo
      Participante

        Fala Cleber..!

        Tente criar a trigger mas sem usar a v$session.. use SYS_CONTEXT

        Rode os selects abaixo e verifique se eles lhe ajudam..!

        SELECT
        SYS_CONTEXT(‘USERENV’,’TERMINAL’),
        SYS_CONTEXT(‘USERENV’,’CURRENT_USER’),
        SYS_CONTEXT(‘USERENV’,’IP_ADDRESS’),
        SYS_CONTEXT(‘USERENV’,’SESSION_USER’)
        FROM DUAL;

        Basta vc adaptar sua trigger usando estes parametros.. eles são funções nativas do oracle..

        Ai vc pode verificar se o IP do cara é interno ou externo.. e fazer um if.. mais ou menos assim…


        if (SYS_CONTEXT('USERENV','IP_ADDRESS') not like 'xxx.xxx.%') and SYS_CONTEXT('USERENV','CURRENT_USER') = 'BRASIL' then

        raise_application_error(-20001,'VC NAO TEM PERMISSÃO');
        end if;

        Ou vc pode adaptar conforme vc quiser..!!
        Procure na net sobre SYS_CONTEXT q vc encontrara outros parametros para retornar diversas informações..

        OBS.: o SYS_CONTEXT só retorna as informações do usuário que o esta executando..

        Abraços..!

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.