如何从SecurityContextHolder里获取用户id
时间: 2024-04-30 14:25:03 浏览: 164
spring oauth2获取当前登录用户信息.docx
在Spring Security中,可以通过以下代码从SecurityContextHolder中获取当前用户的id:
```
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
String userId = authentication.getName();
```
在上述代码中,首先通过`SecurityContextHolder.getContext().getAuthentication()`获取到当前用户的身份认证对象,然后通过`getName()`方法获取当前用户的用户名,即用户id。
需要注意的是,如果当前用户未经过身份认证,则`authentication.getName()`返回null。因此,在使用该方法前,需先判断当前用户是否已经通过身份认证。
阅读全文