如何从SecurityContextHolder里获取用户id
时间: 2024-05-10 08:17:55 浏览: 119
spring oauth2获取当前登录用户信息.docx
您可以使用以下代码从SecurityContextHolder中获取当前用户的id:
```
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String userId;
if (principal instanceof UserDetails) {
userId = ((UserDetails) principal).getUsername();
} else {
userId = principal.toString();
}
```
这里假设您的用户id是通过UserDetails对象的getUsername()方法获取的。如果您的UserDetails实现类中没有这个方法,您需要根据具体的实现类进行相应的修改。
阅读全文