jeecgboot获取当前用户
时间: 2024-12-18 17:20:55 浏览: 49
在JeecgBoot框架中,获取当前登录用户的操作通常发生在Spring Security集成环境中。首先,你需要确保已经配置了Spring Security,并且设置了用户认证和授权机制。以下是一个基本步骤:
1. **注入SecurityContext**:在需要获取用户信息的地方,通过@Autowired注解注入`SecurityContextHolder`,它包含了当前的安全上下文。
```java
@Autowired
private SecurityContext securityContext;
```
2. **访问Authentication对象**:`SecurityContextHolder`中存储的是一个`Authentication`对象,你可以从中获取到用户的信息。例如,`Authentication`对象有一个`Principal`属性,通常包含用户的身份信息。
```java
Authentication authentication = securityContext.getAuthentication();
Object principal = authentication.getPrincipal(); // 这里可以得到用户对象,如UserDetailsImpl
```
3. **处理Principal**:`principal`通常是自定义的`UserDetails`或类似接口的实现,你需要从其中进一步提取用户名、角色等信息。
```java
String username = ((User) principal).getUsername();
List<String> authorities = ((User) principal).getAuthorities().stream()
.map(Authority::getAuthority)
.collect(Collectors.toList());
```
阅读全文
相关推荐


















