私は妥当性確認のためにSpring Securityを使用している春のMVCアプリケーションに取り組んでいます。私はログイン時にいくつかの作業をしたいと思いますし、複数の場所(enter link description hereに入っています)で提案を見て、これをアプリケーションリスナを使って実現しました。私は先に行って、そのようにそれを実装しました:アプリケーションリスナーがイベント通知を受信していません
@Named
public class AccountLoginListener implements ApplicationListener<AuthenticationSuccessEvent> {
@Inject
AccountService accountService;
@Override
public void onApplicationEvent(AuthenticationSuccessEvent event) {
Account account = (Account) event.getAuthentication().getDetails();
...
accountService.saveAccount(account);
}
}
残念ながら、AuthenticationSuccessEventは捕獲され、私はデバッグするとき、onApplicationEvent関数が呼び出されることはありません取得していないようです。私はXMLファイルで追加の設定をしていませんが、そうする必要はないと思います。いくつかの設定が欠落していますか、何か間違っていますか?
ありがとうございます!あなたは春のセキュリティ3を使用している場合は、AuthenticationSuccessHandler
を実装して、アプリケーションのコンテキスト内でこのBeanを構成する必要があり
このBean/Listenerをどのようにインスタンス化して作成していますか? –
私の春の文脈には、このクラスが基本パッケージ内にある ''があります。 –
idbentley
'@ Named'アノテーションはどのような型ですか? –