Java EE 应用中对前端用户的数据库操作的审计
2010-09-26 00:00:00 来源:WEB开发网注意,清除连接上的用户标识的方式是将标识置为空。下面我们针对两种的常用数据库类型介绍标识传递的方法。
针对 DB2 的标识传递
DB2 提供了 com.ibm.db2.jcc.DB2Connection,该类有下列方法,支持用户信息传递:
public void setDB2ClientUser(String s) throws SQLException;
public void setDB2ClientWorkstation(String s) throws SQLException;
public void setDB2ClientApplicationInformation(String s) throws SQLException;
public void setDB2ClientAccountingInformation(String s) throws SQLException;
在获得连接后,通过上面的方法在连接上设置用户信息,在使用完毕后通过置空来清除连接上的用户信息。示例代码如下:
清单 2. 使用 DB2Connection 传递用户标识
DB2Connection conn ;
DriverManager.registerDriver(new com.ibm.db2.jcc.DB2Driver());
String connString = "jdbc:db2://hostname:50000/dbname" ;
conn = (DB2Connection)DriverManager.getConnection(connString, "connUser", "connPasswd");
// 上面的连接也可以从 DataSource 上获取
conn.setDB2ClientUser(“loginUser”) ;
//do something on the connection
conn.setDB2ClientUser(null) ;
conn.close() ;
在开放式平台上,通过下面的 DB2 命令来查看传递过来的用户信息:db2 get snapshot for applications on databasealias,输出结果示例:
TP Monitor client user ID = DB2UserID
TP Monitor client workstation name = yourApplication
TP Monitor client application name = clientWorkstation
TP Monitor client accounting string = yourAccountingInfo
更多精彩
赞助商链接