Tôi đã thực hiện cấp phép mật khẩu OAuth2 với mô-đun bảo mật mùa xuân. Tôi thêm thực hiện riêng của UserDetails và UserDetailsService (jdbc). Tôi đưa Người dùng vào bộ điều khiển của mình bằng:Spring Oauth2 - tải lại hiệu trưởng
@AuthenticationPrincipal User user
nơi Người dùng là người triển khai UserDetails của tôi. Bây giờ tôi muốn thêm khả năng thay đổi dữ liệu Người dùng mà không cần mã thông báo làm mới.
tôi cố gắng để làm mới hiệu trưởng với:
User updatedUser = ...
Authentication newAuth = new UsernamePasswordAuthenticationToken(updatedUser, updatedUser.getPassword(), updatedUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(newAuth);
Nhưng nó không hoạt động, khi tôi gọi một phương pháp điều khiển nó sẽ trả về đối tượng tài khoản cũ.
Có cách nào để thay đổi dữ liệu Người dùng mà không có mã thông báo làm mới không? Có bất kỳ giải pháp nào để bảo mật mùa xuân luôn tải dữ liệu người dùng từ cơ sở dữ liệu (không phải từ Cache) không?
Trong đó lớp của ứng dụng nào bạn làm mới hiệu trưởng? –