0
私は2人のユーザーロールADMIN
とUSER
を持っています。 ADMIN
はUSER
のパスワードを変更できます。ユーザーのパスワードがADMIN
で変更されたときに強制的にログアウトしたい私は変更されたパスワードを保存して、次のログイン時に使用することができます。しかし、私は彼らにログアウトを強制したい。パスワードの変更時に春のセキュリティ強制ログアウト
UserDetails userDetails = userDetailsService.loadUserByUsername(vendor.getUsername());
Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
authentication.setAuthenticated(false);
これは機能しません。これは、あなたがアクティブなセッションのリストを管理し、それらを期限切れにするsessionRegistry.getAllSessionsを呼び出すことができます
@Override
protected void configure(HttpSecurity http) throws Exception {
// this enables ConcurrentSessionFilter to allow us to read all sessions by using getAllPrincipals
http
.sessionManagement().maximumSessions(10)
.sessionRegistry(sessionRegistry())
.expiredUrl("/login?expire");
// Rest of the configuration
}
次のように
これが表示されます。すべてのセッションでユーザーのセッションを検索します。私は正しい? – fatiherdem
が正しい。試してみて、結果を教えてください。 – Rejinderi
ありがとうございます。それは働いている! – fatiherdem