我想獲得一個會話屬性(用戶名),以便將其注入到記錄器的MDC中。如何在Spring AOP中使用會話屬性?
我甚至不知道它是否可能。
有什麼想法?感謝
[編輯]
我們正在與Ajax框架(ZK)工作。因此,使用Filter的解決方案不適用。爲了寫入特定的日誌(由用戶),我們必須在由框架觸發的每個事件中放置和移除。
所以我搜索如何使用AOP自動執行這些操作。
我想獲得一個會話屬性(用戶名),以便將其注入到記錄器的MDC中。如何在Spring AOP中使用會話屬性?
我甚至不知道它是否可能。
有什麼想法?感謝
[編輯]
我們正在與Ajax框架(ZK)工作。因此,使用Filter的解決方案不適用。爲了寫入特定的日誌(由用戶),我們必須在由框架觸發的每個事件中放置和移除。
所以我搜索如何使用AOP自動執行這些操作。
我會ServletFilter中實現這一點,這樣你就可以訪問到 所有的東西在請求和會話。使用DelegatingFilterProxy ,以便您可以將篩選器配置爲 正常的Spring bean。
如果你真的需要或想要實現它作爲一個方面,我會 也建議你定義一個過濾器。該過濾器會將所需的參數放入ThreadLocal中,這樣您就可以從Aspect中檢索適當的值。
過濾器不是我們的解決方案,不幸的是。 – MychaL
你看過這些答案嗎? http://stackoverflow.com/questions/6115858/logging-user-activity-in-web-app http://stackoverflow.com/questions/248562/when-using-spring-security什麼是適當的方式獲取當前用戶名我 –
我編輯了我的請求。不幸的是,過濾器對我們來說不是一個解決方案。 – MychaL