我使用Grails 1.3.7 alogn與SpringSecurity並有一個要求,我需要當用戶會話到期進行很少的處理。如何注入springSecurityService到定製監聽
所以不得不在SRC /常規它實現HttpSessionListener和覆蓋sessionDestroyed方法的定義的類。監聽器類被定義爲web.xml中的「監聽器」。
我添加了一個「高清springSecurityService」到了我希望會自動注入服務聽衆,但這似乎並不如此。
所以我想知道還有什麼我需要爲了使注射要發生的事情,我必須聲明監聽器類中resources.groovy不知何故?
感謝,
戴夫
感謝輸入但是在調用lookupApplication我收到方法的無簽名:靜態grails.util。 GrailsWebUtil.lookupApplication()是適用於參數類型:(org.apache.catalina.core.ApplicationContextFacade)例外。 – Dave 2011-12-30 12:08:29
好吧,正在取得進展,現在能夠獲得服務,但不幸的是,當前用戶爲空。所以不確定是否因爲spring已經在sessionDestroyed事件被觸發之前卸載了它,或者出於其他原因。 – Dave 2011-12-30 12:17:23
是的,lookupApplication()是一個2.0.0的功能(編輯我的答案反映它)。至於springSecurityService.getCurrentUser(),可能僅在請求期間保持安全上下文。由於事件偵聽器在請求上下文之外觸發,安全上下文將不可用。我不是Spring Security的專家,但這是一種常見模式。 – 2011-12-30 12:31:56