2011-07-28 74 views
0

我們在JSP中開發了一個Web應用程序。我們必須爲屏幕中每個更改的字段執行審計跟蹤。審計表應包含以下列:unique_id,舊值,新值,屏幕字段名稱,上次更新日期,上次更新的用戶。請提出一些設計模式和此類審覈的最佳實踐。JSP屏幕字段的審計跟蹤

注意:我們目前正在嘗試使用過濾器模式來攔截來自表和JSP中的請求。我們不需要基於數據庫觸發器的審計,因爲屏幕字段名稱與數據庫列名稱不同。我們必須根據屏幕字段名稱進行審覈。

由於提前, Rajanikanth

回答

0

這是一個常見的問題。使用Aspect,它使審計代碼與核心業務代碼完全分離。就你而言,在Aspect中,你可以獲取對象的數據庫版本,然後將它的值與提交對象中的值進行比較,將信息記錄在審計表中。

如果您使用的是Spring:Security access audit

+0

嗨亞倫,謝謝你的回覆。不幸的是,我們的應用程序不使用Springs框架。它是一種帶有JSP - Command Pattern - Helper類型工作流的遺留代碼。你能提出一些適合這種情況的設計模式嗎? – Rajanikanth

+0

您仍然可以在沒有Spring的情況下使用AspectJ。這裏有一個教程:http://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/。關於方面的重要事情是,它們允許您封裝執行某些操作的代碼並將其應用於不同的情況。在你的情況下,你可以創建一個審計方面,並將其配置爲在Command對象觸發時或在其他類似情況下觸發。 – atrain