WEB开发网
开发学院软件开发Java Java EE 应用中对前端用户的数据库操作的审计 阅读

Java EE 应用中对前端用户的数据库操作的审计

 2010-09-26 00:00:00 来源:WEB开发网   
核心提示: 在主机(z/OS)上,通过 DB2 命令: -DISPLAY THREAD(*) DETAIL 来查看,Java EE 应用中对前端用户的数据库操作的审计(4),输出结果示例:DSNV401I-DB8GDISPLAYTHREADREPORTFOLLOWS-DSNV402I-DB8GACTIVET

在主机(z/OS)上,通过 DB2 命令: -DISPLAY THREAD(*) DETAIL 来查看,输出结果示例:

DSNV401I -DB8G DISPLAY THREAD REPORT FOLLOWS - DSNV402I -DB8G ACTIVE THREADS 
-NAME ST A REQ ID AUTHID PLAN ASID TOKEN SERVER RA * 4 V2.27.1302 DB2USER DISTSERV 
0042 17 V437-WORKSTATION=clientWorkstation, USERID=DB2UserID, 
APPLICATION NAME=yourApplication 

针对 Oracle 的标识传递

在 Oracle 11g Release 1 之前的版本中,Oracle JDBC driver 提供了接口 oracle.jdbc.driver.OracleConnection,通过 OracleConnection 上的两个方法 setClientIdentifier() 和 clearClientIdentifier() 可以完成标识传递。OracleConnection 只能传递一个属性 clientIdentifier,但通常这已经足够。

示例如下:

清单 3. 使用 OracleConnection 传递用户标识

OracleDataSource dataSource = new OracleDataSource(); 
dataSource.setURL("jdbc:oracle:thin:@hostname:1521:orcl"); 
dataSource.setUser("username"); 
dataSource.setPassword("passwd"); 
conn = (OracleConnection) dataSource.getConnection(); 
conn.setClientIdentifier(clientId) ;  
// do something on the connection   
conn.clearClientIdentifier(clientId) ; 
conn.close() ; 
dataSource.close() ; 

这个 client_id 传到 oracle 后,可以通过下面 sql 语句来查看每个 session 上的用户标识。

select client_identifier from v$session 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Java EE 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接