2011-07-28 10 views
0

JSPで開発されたWebアプリケーションがあります。画面の変更されたフィールドごとに監査証跡を実行する必要があります。監査テーブルには、unique_id、古い値、新しい値、画面フィールドの名前、最終更新日、最後に更新されたユーザーの列が含まれている必要があります。そのような監査のためのいくつかの設計パターンとベストプラクティスをお勧めします。JSP画面フィールドの監査証跡

注:現在、フィルタパターンを使用してJSPからの要求をインターセプトし、テーブル内の監査を試みています。画面フィールド名がDB列名と異なるため、DBトリガに基づく監査は不要です。我々は、画面のフィールド名に基づいて監査する必要があります。事前に

おかげで、 ラジニカーント

答えて

0

これは一般的な質問です。 Aspectを使用して、監査コードをコアビジネスコードから完全に分離した状態にします。あなたの場合、アスペクトでは、オブジェクトのDBバージョンを取得し、その値をサブミットされたオブジェクトの値と比較し、監査テーブルに情報を記録します。

Springを使用している場合:Security access audit

+0

こんにちはアーロン、返事をありがとう。残念ながら、私たちのアプリケーションはSpringフレームワークを使用していません。これは、JSP - コマンドパターン - ヘルパーのワークフローの種類のレガシーコードの一種です。このシナリオに合ったデザインパターンを提案できますか? – Rajanikanth

+0

Springを使用せずにAspectJを使用することはできます。チュートリアル:http://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/ Aspectsに関する重要なことは、あなたが何かをして別の状況に適用するコードをカプセル化できるようにすることです。あなたのケースでは、監査アスペクトを作成し、Commandオブジェクトが起動したとき、または他の同様のケースで起動するように設定することができます。 – atrain

関連する問題