2011-06-30 5 views
0

私は私のカスタムの成功ハンドラで春のセッションBeanを注入することができないよ:sessionControllerにnullポインタ例外を返すカスタムスプリングセキュリティログイン成功ハンドラでセッションBeanを注入する方法

@Component 
public class CustomSavedRequestAwareAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { 

    @Resource 
    private SessionController sessionController; 

    @Override 
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws ServletException, IOException { 
     super.onAuthenticationSuccess(request, response, authentication); 
     sessionController.setUtenteOnline(); 
    } 

。 ありがとうございます

+1

@Autowireを使用することを意味しませんか? –

+0

@Autowiredでも動作しません –

+2

「スプリングセッションBean」とはどういう意味ですか? – skaffman

答えて

1

あなたの成功ハンドラはおそらくシングルトンなので、シングルトンだけを確実に注入することができます。 scoped dependenciesを使用してこの問題を解決できます。基本的には、Sessionスコープから実際のBeanを取得し、呼び出しをそれに委譲するシングルトンの動的プロキシをSpringにインジェクトする必要があります。

+0

あなたの答えをありがとう、しかし、この時点で私はあなたのソリューションをテストする時間がありません。私はワークアウトをしていますが、私はこの機能をもう一度必要としていると確信しています。 –

関連する問題