|
|
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
Никто так случайно не писал системные триггеры на logon (нужен триггер , который включал бы трассировку на сессию конкретного пользователя когда этот пользователь соединяется с базой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2003, 19:17 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Смысл примера в чем - у слегка продвинутого пользователя иногда возникает желание полазить со своими правами по базе при помощи SQL-навигатора или чего-то там еще, поэтому после коннекта мы по TCP спрашиваем у клиента-программы ПАРОЛЬ, и если ответ нам не нравится, то вместо коннекта юзер получает Exception ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2003, 20:52 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
это , колнечно тоже хорошо , но начальные условия несколько другие: нужно именно чтобы включалась трассировка . Пока реализовано след-м образом: написана процедура, которая устанавливает трассировку: -------------------------------------------------------------------------- CREATE OR REPLACE procedure logon_proc authid current_user is begin sys.dbms_session.set_sql_trace (true); end logon_proc; выполняется - проверено. есть триггер , который это процедуру выполняет: CREATE OR REPLACE TRIGGER AfterConnect after logon on database BEGIN <>.logon_proc; END; трэйс файл формируется (!) , но со след-ми сообщениями: *** SESSION ID:(273.2707) 2003-03-26 20:27:23.430 Skipped error 604 during the execution of ROMAN.LOGONTRIGGER *** 2003-03-26 20:27:23.432 ksedmp: internal or fatal error ORA-00604: error occurred at recursive SQL level 1 ORA-01031: insufficient privileges ORA-06512: at line 8 Skipped error 604 during the execution of ROMAN.LOGONTRIGGER_LOG *** 2003-03-26 20:27:23.447 ksedmp: internal or fatal error ORA-00604: error occurred at recursive SQL level 1 ORA-01031: insufficient privileges ORA-06512: at line 8 Skipped error 604 during the execution of ROMAN.LOGONIN *** 2003-03-26 20:27:23.449 ksedmp: internal or fatal error ORA-00604: error occurred at recursive SQL level 1 ORA-01031: insufficient privileges ORA-06512: at "SYS.DBMS_SESSION", line 86 ORA-06512: at "ROMAN.LOGON_PROC", line 4 ORA-06512: at line 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2003, 21:15 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
Может, попробовать так? CREATE OR REPLACE procedure logon_proc authid DEFINER is ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2003, 21:34 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
Что то вроде работает , подробности завтра :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2003, 23:06 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
gminter: классно придумано! А нельзя ли взглянуть на ответную часть - которая на клиенте отвечает на Ваш TCP-запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2003, 14:52 |
|
||
|
системныйтриггер
|
|||
|---|---|---|---|
|
#18+
Po mojemu luche i legche ispolzovatj roli s parolami: CREATE ROLE MY_ROLE IDENTIFIED BY AA; GRANT MY_ROLE TO MY_USER; ALTER USER MY_USER DEFAULT ROLE ROLE1,ROLE2,ROLE3 <-novaja rol (MY_ROLE) ne ukazivajetsa. V klientskoj chasti, pered tem kak choto delatj vkluchajem etu rol: set role MY_ROLE identified by AA; Tak kak juzverj neznajet nash parol, to nemozhet nichego delatj! p.s. ideja ot gminter - interesnaja ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 11:15 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32127775&tid=1991266]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 335ms |

| 0 / 0 |
