Есть ли способ записать имя пользователя неудачного Oracle входа в систему Java? - PullRequest
1 голос
/ 16 апреля 2020

У нас есть несколько сред разработки и приложение, которое открывает более 20 входов в нашу базу данных в каждой среде.

Каждый раз, когда кто-то неверно конфигурирует приложение, мы получаем запись в журнале, которая просто говорит:

java.sql.SQLException: ORA-01017: invalid username/password; logon denied

Это часто случается, и это очень сильно упростит жизнь, если использовать Spring Framework, Oracle или Apache Tomcat может быть настроен на выдачу имени пользователя , который не может войти в систему.

Это обычно происходит во время запуска приложения, когда Spring подключает компоненты для приложения, поэтому я не уверен, что наш код (например, пользовательские страницы ошибок) еще доступен.

У кого-нибудь есть какие-нибудь крутые идеи о том, как это сделать?

1 Ответ

3 голосов
/ 16 апреля 2020

На уровне базы данных вы можете включить AUDIT TRAIL для регистрации всех данных для входа. Это можно сделать, установив для параметра audit_trail значение true.

show parameter audit_trail

После включения неудачных попыток входа все неудачные попытки входа будут направлены в таблицу журнала аудита базы данных SYS.AUD$. Вы можете запросить dba_audit_trail для получения подробной информации:

select 
   os_username,
   username,
   terminal,
   to_char(timestamp,'MM-DD-YYYY HH24:MI:SS')
from
   dba_audit_trail;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...