springboot+vue后端怎么获取登录的账号信息
时间: 2024-01-24 21:02:54 浏览: 115
前后端 springboot+Vue 实现登录注册功能
在Spring Boot后端中,可以通过以下方式获取登录的账号信息:
1. 通过注入SecurityContextHolder获取SecurityContext对象,再通过该对象获取Authentication对象,最后通过该对象获取登录的账号信息。
```java
@Autowired
private SecurityContextHolder securityContextHolder;
public void getLoginUserInfo() {
Authentication authentication = securityContextHolder.getContext().getAuthentication();
String username = authentication.getName();
// ...
}
```
2. 在Controller中使用@AuthenticationPrincipal注解来获取登录的账号信息。
```java
@GetMapping("/user")
public User getCurrentUser(@AuthenticationPrincipal UserDetails userDetails) {
return userService.findByUsername(userDetails.getUsername());
}
```
在上述代码中,@AuthenticationPrincipal注解会自动获取当前登录用户,并将其转换为UserDetails对象,因此我们可以直接使用该对象获取登录的账号信息。
需要注意的是,以上两种方式都需要在Spring Security中进行配置,以确保登录用户信息能够被正确获取。
阅读全文