2013-07-29 28 views
0

我想獲得一個會話屬性(用戶名),以便將其注入到記錄器的MDC中。如何在Spring AOP中使用會話屬性?

我甚至不知道它是否可能。

有什麼想法?感謝


[編輯]

我們正在與Ajax框架(ZK)工作。因此,使用Filter的解決方案不適用。爲了寫入特定的日誌(由用戶),我們必須在由框架觸發的每個事件中放置和移除。

所以我搜索如何使用AOP自動執行這些操作。

+0

你看過這些答案嗎? http://stackoverflow.com/questions/6115858/logging-user-activity-in-web-app http://stackoverflow.com/questions/248562/when-using-spring-security什麼是適當的方式獲取當前用戶名我 –

+0

我編輯了我的請求。不幸的是,過濾器對我們來說不是一個解決方案。 – MychaL

回答

0

spring forums discussion之一:

我會ServletFilter中實現這一點,這樣你就可以訪問到 所有的東西在請求和會話。使用DelegatingFilterProxy ,以便您可以將篩選器配置爲 正常的Spring bean。

如果你真的需要或想要實現它作爲一個方面,我會 也建議你定義一個過濾器。該過濾器會將所需的參數放入ThreadLocal中,這樣您就可以從Aspect中檢索適當的值。

+0

過濾器不是我們的解決方案,不幸的是。 – MychaL