春のセキュリティとセッションの無効化についての質問です。ログアウトによる春のセキュリティセッションの無効化
ConcurrentSessionControlStrategyでセッションを無効にすると、セッションはremoveSessionInformationメソッドを呼び出すことによってSessionRegistryから削除されますが、手動ログアウトによってセッションが無効にされた場合、HttpSessionは無効になりますが、SessionRegistryの呼び出しはありませんそこ。
私は、HttpSessionDestroyedEventイベントをキャプチャしているリスナとしてHttpSessionEventPublisherを追加しましたが、SessionRegistryを再度呼び出すことはありません。
私はLogoutFilterの独自の実装を作成し、removeSessionInformationを手動で呼び出すハンドラを追加することでこれを回避しましたが、可能であれば標準の春の注釈を使用できるようにしたいと考えています。 (NBセッションがすでに無効になっているため、セッションIDにアクセスできないため、標準ログアウトタグのsuccess-handler-refフィールドを使用することはできません)
ここには何かがありますか?これは春が逃したものですか?
これは、途中でSpring Security 3.1.0を使用しています。
あなたがやろうとしていますか? – NimChimpsky
私は1人のユーザーに1セッションしか許可しないアプリを持っています。ユーザーにすでにセッションがある場合、同時戦略をトリガーするアクティブなセッションを終了するかどうかをログオンするかどうかを確認するメッセージが表示され、セッションレジストリからセッションが削除されます。ユーザはログアウトフィルタを起動してHTTPセッションを無効にしますが、リポジトリからセッションを削除しないでログアウトすることもできます。私が言ったように、解決策があります。logoutFilterをカスタマイズせずにこれを行う方法があるかどうか不思議です。 – Rene