Вход в систему Триггер, который будет принимать пользовательский ввод - PullRequest
0 голосов
/ 15 декабря 2011

В настоящее время у нас есть логин trigger, который перехватывает пользовательскую информацию для сеанса, который входит в Oracle из определенных приложений (например, SQL Plus, SQL Developer). Он берет эту информацию и вставляет ее в таблицу для целей аудита.

Теперь, если пользователь входит в систему через одно из этих приложений, для которых мы ведем ловушку, мы хотим предложить пользователю ввести информацию о том, почему он входит, а затем записать ее в эту же таблицу для целей аудита. 1004 *

Любые идеи о том, как мы можем сделать это с тем, что у нас есть, или любые другие идеи о том, как сделать то же самое?

Текущий Login Trigger:

begin
   if (dba_monitor.get_program_name = 1)
   then
      insert into dba_monitor.logon_table2
      (username,machine,program, logon_date)
      select username,machine,program,sysdate
        from v$session 
       where username=(select user from dual)
         and username not in ('SYSMAN','DBSNMP');
   else
      insert into dba_monitor.logon_table
      (user_name,logon_date)
      select username,sysdate
        from v$session 
       where username=(select user from dual)
         and username not in ('SYSMAN','DBSNMP');
   end if;
end;

DBA_MONITOR.GET_PROGRAM Функция:

    return varchar2
is
   audit_program number :=0;
   audit_select number :=0;
begin
   select 1 
     into audit_program 
     from v$session
    where audsid = sys_context('USERENV','sessionid')
      and (upper(program) in ('SQLPLUS.EXE', 'SQLPLUSW.EXE', 'TOAD.EXE', 'GOLDEN32.EXE', 'MSACCESS.EXE'));
   return(audit_program);
exception
   WHEN NO_DATA_FOUND
   then
      return(audit_select);
end;

1 Ответ

4 голосов
/ 15 декабря 2011

Невозможно - триггеры не могут принимать пользовательский ввод.

Вам будет лучше иметь учетную запись пользователя «из стекла», которая все время блокируется, и попросите пользователя при проверке учетной записи пользователя из окна «разбить стекло» в это время ввести их обоснование.

О, и ваш список приложений - безопасность по незаметности; изменить имя приложения os с sqlplus.exe на fluffybunnies.exe тривиально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...