私は春のセキュリティモジュールでOAuth2パスワードの付与を実装しました。 UserDetailsとUserDetailsService(jdbc)の独自の実装を追加します。私はあなたのコントローラーに私のコントローラーに次のものを書き込んでいます:Spring Oauth2 - リロードプリンシパル
@AuthenticationPrincipal User user
ここで、ユーザーは私のUserDetailsの実装です。 トークンを更新せずにユーザーデータを変更する可能性を追加します。
私はプリンシパルを更新しよう:
User updatedUser = ...
Authentication newAuth = new UsernamePasswordAuthenticationToken(updatedUser, updatedUser.getPassword(), updatedUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(newAuth);
しかし、私はそれが古いUserオブジェクトを返す別のコントローラメソッドを呼び出すときには、動作しません。
トークンを更新せずにユーザーデータを変更する方法はありますか?春のセキュリティを常にキャッシュからではなく、データベースからロードするソリューションはありますか?
を設定するには、あなたのコードは、あなたは、プリンシパルを更新していますか? –