2012-05-05 16 views
1

Muleの現在のメッセージペイロードから、ファイルにロギングするときに、特定のフィールドをマスクしたいと考えています。私がマスクしたいフィールドは、SOAPペイロード内の機密値(口座番号、社会保障番号など)です。これは、セキュリティリスクを排除するためです。しかし、値をマスクした後に値を使用する必要もあります。Muleのフィールドのマスキング

私の現在のアプローチ

私はセッションで現在#[ペイロード]を格納し、その後、XSLTトランスフォーマを使用して、* * * *により、機密データを交換する現在のペイロードを変更しています。今、ペイロードをログに追加することができ、機密データは完全には表示されません。その後、データが必要になると、私はセッションからそれを読み返しています。

この方法については何かが気に入らない。これは回避策のように感じます。ミュールでマスキングするより良い方法はありますか?

答えて

1

ログへの書き込みは、同期する必要があるようには聞こえません。

xsltトランスフォーマとロガーをちょうど "非同期化"できませんか?そうすれば元のメッセージは非同期の外側にそのまま残されます。

+0

ありがとうございます。ログに書き込むのは実際には非同期でなければならないということを見落としました。なぜなら、現在のスレッドを中断してはならないからです。 これは値をマスクする正しい方法ですか?他のアプローチはありますか? – r3st0r3

+0

asyncはそのスレッドのコピーを作成するので、ヘッダーに何も保持する必要はありません。 マスキングのXSLT?私はこれまで、XMLだけのペイロードに対してこれを行ってきました。私はそこに問題を見ません。あなたが以前にそれを非マーシャルにしていない限り(それを削除するだけでmarshall-> xsltは意味をなさないでしょう)、あなたのPOJOで削除してください。 –