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

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

 2010-09-26 00:00:00 来源:WEB开发网   
核心提示: 那如何看到每个 client_id 执行的 sql 呢?需打开 oracle 的审计开关,例如可以打开对查询语句的审计:auditselecttablebysession;然后执行:selectsql_text,CLIENT_IDfromdba_audit_trailwhereusername=

那如何看到每个 client_id 执行的 sql 呢?需打开 oracle 的审计开关。例如可以打开对查询语句的审计:

audit select table by session; 

然后执行:

select sql_text,CLIENT_ID from dba_audit_trail where username='connectionUser' 
order by EXTENDED_TIMESTAMP desc 

可以列出每个用户执行的 sql 语句。

数据源在 WebSphere 应用服务器上的情形

如果是采用 WebSphere 应用服务器上配置的数据源,则无法将数据源上获得的连接转化为 OracleConnection 或 DB2Connection,须采用 WAS 提供的 connection wrapper 类 com.ibm.websphere.rsadapter.WSConnection。编程模型如下:

清单 4. 使用 WSConnection 传递用户标识

import com.ibm.websphere.rsadapter.WSConnection; 
… 
InitialContext ctx = new InitialContext(); 
DataSource ds = (javax.sql.DataSource) ctx.lookup("jbdc/mydatasource") ; 
conn = ds.getConnection();   
WSConnection wsconn = (WSConnection) conn ;  
Properties props = new Properties();   
props.setProperty(WSConnection.CLIENT_ID, clientId); 
 
wsconn.setClientInformation(props);   
//do something on the wsconn 
wsconn.setClientInformation(null); // 清除连接上的用户信息 

WSConnection 支持下列属性的传递:

WSConnection.CLIENT_ACCOUNTING_INFO

WSConnection.CLIENT_LOCATION

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

Tags:Java EE 应用

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