有没有办法在Java中记录Oracle登录失败的用户名?
我们有许多开发环境和一个应用程序,在每个环境中打开20多个数据库登录 每次有人误解应用程序时,我们都会得到一个日志条目,上面简单地说:有没有办法在Java中记录Oracle登录失败的用户名?,java,oracle,spring-mvc,tomcat,error-handling,Java,Oracle,Spring Mvc,Tomcat,Error Handling,我们有许多开发环境和一个应用程序,在每个环境中打开20多个数据库登录 每次有人误解应用程序时,我们都会得到一个日志条目,上面简单地说: java.sql.SQLException: ORA-01017: invalid username/password; logon denied 这种情况经常发生,如果Spring框架、Oracle或apachetomcat都可以配置为报告无法登录的用户名,这将极大地简化工作 这通常发生在应用程序启动期间,当Spring为应用程序连接bean时,所以我不确定
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
这种情况经常发生,如果Spring框架、Oracle或apachetomcat都可以配置为报告无法登录的用户名,这将极大地简化工作
这通常发生在应用程序启动期间,当Spring为应用程序连接bean时,所以我不确定我们的代码(例如,自定义错误页)是否可用
任何人对如何做到这一点有什么好主意吗?在数据库级别,您可以启用审核跟踪来记录所有登录详细信息。可以通过将
audit\u trail
参数设置为true来完成
show parameter audit_trail
一旦为不成功登录启用,所有失败的登录尝试将被定向到数据库审核跟踪SYS.AUD$
表。您可以查询dba\u audit\u trail
以获取详细信息:
select
os_username,
username,
terminal,
to_char(timestamp,'MM-DD-YYYY HH24:MI:SS')
from
dba_audit_trail;
在数据库级别,您可以启用审核跟踪来记录所有登录详细信息。可以通过将
audit\u trail
参数设置为true来完成
show parameter audit_trail
一旦为不成功登录启用,所有失败的登录尝试将被定向到数据库审核跟踪SYS.AUD$
表。您可以查询dba\u audit\u trail
以获取详细信息:
select
os_username,
username,
terminal,
to_char(timestamp,'MM-DD-YYYY HH24:MI:SS')
from
dba_audit_trail;
这可能是我们必须要做的。考虑到应用程序端的所有初始化都发生在Spring和Tomcat代码中,我们必须(呃)分叉该代码才能进行此日志记录。我不想那样做。谢谢你提供的信息!这可能是我们必须要做的。考虑到应用程序端的所有初始化都发生在Spring和Tomcat代码中,我们必须(呃)分叉该代码才能进行此日志记录。我不想那样做。谢谢你提供的信息!