2

エンタープライズ Web アプリケーションで変更アクション (作成/削除/更新) を監査する必要があります。次に、ユーザーは、アクションを実行するかどうかを決定するために、特定のエンティティ (たとえば、人物) の変更履歴を確認する必要がある場合があります。

私の知る限り、log4net、nlogなどのライブラリを.NETで使用してアプリケーションに組み込むことができます。または、私が知らないバージョン管理専用の他のライブラリがあるかもしれません。

または、たとえばSQL Server の変更データ キャプチャを使用して、データベースで実行することもできます。

組み込みのデータベース ソリューションを使用する方が効率的ですが、問題は次のとおりです。

データベースへのアプリケーションのビジネスを制御することは、ソフトウェア工学の観点から正しいですか?

4

4 に答える 4

2

私の会社のアプリケーションでは、両方の場所にログインしますが、用途が異なります。

  • アプリケーション: アプリケーションは、デバッグ/チューニングのために詳細なログ アクションを保持します。
  • データベース: 「公式」監査データはデータベースに保持され、ストアド プロシージャの一部として追加されます。データベースに存在することで、アクセスが簡単になり、アクセスが制御され、リアルタイムの監視が容易になります。
于 2013-03-13T09:43:23.547 に答える
2

テーブル内のデータを含む各テーブルへの変更を追跡し、何が、いつ、誰によって変更されたかを記録できるようにする基本的な監査については、AutoAuditでうまくいきました。これは、データベース内の一部またはすべてのテーブルに自動監査を追加するオープン ソース パッケージです。

私は比較的小規模なプロジェクト (テーブル数が 20 未満で、同時ユーザーはほんの一握り) で個人的に試しただけですが、非常にうまく機能しました。セットアップにはほとんど手間がかからず、すぐに使える機能が私たちのニーズを満たしました。

AutoAudit バージョン 3.20 へのメジャー アップグレードが 2013 年 11 月にリリースされ、次の機能が追加されました。

  • 最大 5 つの PK 列を持つテーブルを処理します

  • バージョン 2.00 より最大 90% 高速なパフォーマンスの向上

  • 改善された履歴データ取得 UDF

  • quotename [ ] が必要な列/テーブル名を処理します

  • ライブ監査テーブルを小さく/高速に保ちながら、古いデータをアーカイブ AutoAudit テーブルに保持するためのアーカイブ プロセス

ここで見つけることができます。

于 2013-04-23T21:41:56.763 に答える