2010-03-19 35 views

回答

1

我不能直接幫你,但我的一些經驗可能會有用。我有一個應用程序使用修改後的jcifs ntlm過濾器。 (注意現有的過濾器實際上並不安全!)我的一個修改是,一旦用戶通過身份驗證,結果就會存儲在會話中(而不是專門存儲在緩存中)。

過濾器會在執行整個ntlm協議前檢查會話中是否存在驗證結果。如果有,那麼它不需要打擾。

你唯一需要注意的就是HTTP Posts。無論服務器是否要求,Internet Explorer都要求郵政通過整個身份驗證過程。所以你必須在你的過濾器中注意這一點。

+0

@John謝謝你指出了這一點。我仍然在尋找正確的方法來做到這一點,並直接緩存在NLTMProcessingFilter類,而不是在用戶會話 – cometta 2010-03-21 08:54:28

+0

我沒有強烈的意見認爲信息應該存儲在會話中,但它絕對看起來更容易。在過濾器類中有一個'Map '可以存儲每個會話的認證用戶名(或其他詳細信息),這很容易。如果會話的用戶名存在,那麼它可以避免重複認證(除非是發佈請求!)。 – John 2010-03-21 11:29:23