Java EE应用中对前端用户的数据库操作的审计 - 编程入门网
entAccountingInformation(String s) throws SQLException;
Java EE应用中对前端用户的数据库操作的审计(2)时间:2010-11-03 IBM 库俊国在获得连接后,通过上面的方法在连接上设置用户信息,在使用完毕后通过置空来清除连接上的用户信息。示例代码如下: 清单 2. 使用 DB2Connection 传递用户标识
在开放式平台上,通过下面的 DB2 命令来查看传递过来的用户信息:db2 get snapshot for applications on databasealias,输出结果示例:
在主机(z/OS)上,通过 DB2 命令: -DISPLAY THREAD(*) DETAIL 来查看,输出结果示例:
针对 Oracle 的标识传递 在 Oracle 11g Release 1 之前的版本中,Oracle JDBC driver 提供了接口 oracle.jdbc.driver.OracleConnection,通过 OracleConnection 上的两个方法 setClientIdentifier() 和 clearClientIdentifier() 可以完成标识传递。OracleConnection 只能传递一个属性 clientIdentifier,但通常这已经足够。 示例如下: 清单 3. 使用 OracleConnection 传递用户标识
这个 client_id 传到 oracle 后,可以通过下面 sql 语句来查看每个 session 上的用户标识。
那如何看到每个 client_id 执行的 sql 呢?需打开 oracle 的审计开关。例如可以打开对查询语句的审计: audit select table by session; 然后执行:
Java EE应用中对前端用户的数据库操作的审计(3)时间:2010-11-03 IBM 库俊国可以列出每个用户执行的 sql 语句。 数据源在 WebSphere 应用服务器上的情形 如果是采用 WebSphere 应用服务器上配置的数据源,则无法将数据源上获得的连接转化为 OracleConnection 或 DB2Connection,须采用 WAS 提供的 connection wrapper 类 com.ibm.websphere.rsadapter.WSConne |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |