2017-01-09 34 views
2

我目前正在使用Apache CXF向第三方發送請求的應用程序。我們需要記錄正在發送的每個請求。問題是,其中許多請求包含無法記錄的敏感數據。數據本身在發送之前通常會被加密,但我們甚至無法記錄加密的值。肥皂請求日誌記錄 - 用於排除敏感數據的優雅解決方案

超級簡單的解決方案是創建一個不應該被記錄的字段的「黑名單」。這個問題是在不斷增長的應用程序中錯過一個領域很容易。

我想要做的是找出一種方法來「白名單」應該被記錄的領域。

看起來很複雜,但我不能是唯一需要這樣做的人。

+0

因此,您想要在加密之前記錄請求並刪除敏感字段?你可以註釋每個字段來隱藏,然後使用自定義序列化程序? – pedrofb

+0

字段值被加密,而不是整個請求,所以日誌記錄通常會在字段已經被加密加密之後發生。我們不能註釋這些類,因爲我們收到了第三方的wsdl。每次我們重新生成類時,我們都必須返回並重新將日誌註釋添加到類中。 –

+0

然後,白名單似乎是一個可以接受的選擇。黑名單是有風險的,因爲難以建立單詞集並且wsdl提供商可以更改可能跳過控制的名稱。也許你可以在加密之後設置一個攔截器,使白名單中不存在的字段保留爲空。 – pedrofb

回答

0

我已經寫了一個tool,它允許基於XPath表達式子集的匿名/子樹刪除。我想更先進的方法會使用SAX過濾器。