ユーザーセッションを無効化 (またはキック) する必要があります。アプリケーションは、コンテナーごとに 1 人のユーザーのみにユーザー ログインを制限します。
セッションレジストリからremoveSessionInformationを呼び出そうとしましたが、ユーザーのロックを解除しました。そのため、他のユーザーはキックされたセッションのユーザー名でログインできます。
しかし、キックされたそのユーザーの SessionContextHolder はまだです。そのため、保護されたページにアクセスする同じ権限が引き続き付与されます。
指定されたセッションレジストリ情報からSessionContextHolderのプリンシパルを無効化または削除する方法は?
ps : 私の古いアプリケーションでは、HttpSession を保持する UserDomain (UserDetails) に 1 つの変数を指定します。ユーザーをキックする必要がある場合は、指定された UserDomain から HttpSession を無効にします。しかし、春にそれを行う方法がわかりません(HttpSessionよりもSessionContextHolderのプリンシパルを削除する可能性が高くなります)。実装は、SessionRegistryImpl が春に行う方法とほぼ同じです。