Appearance
用户信息注入
说明
本项目有2种方式可以在后端服务获取当前用户的信息. 推荐使用 @LoginUser SysUser user
获取用户详细信息.
- 通过 @LoginUser 注解获取用户详细信息
java
@PostMapping(value = "/postJson")
public R postJson(@LoginUser SysUser user) {
log.info("user={}", user); //用户完整信息
return R.success(user);
}
@PostMapping(value = "/postJson")
public R postJson(@LoginUser SysUser user) {
log.info("user={}", user); //用户完整信息
return R.success(user);
}
- 通过 ContextUtil 静态方法获取基本信息
ContextUtil.getUserId(); // 当前用户id
ContextUtil.getEmployeeId(); //当前用户员工ID
ContextUtil.getUserId(); // 当前用户id
ContextUtil.getEmployeeId(); //当前用户员工ID
其中, 想要在Controller方法参数中使用 @LoginUser , 必须参考以下步骤:
在启动类标记 @EnableLoginArgResolver
在Controller方法中加入参数:
@LoginUser SysUser user
配置文件中配置:
yaml
acuity:
security:
type: FEIGN # SERVICE acuity-boot 配置SERVICE acuity-cloud 配置FEIGN
acuity:
security:
type: FEIGN # SERVICE acuity-boot 配置SERVICE acuity-cloud 配置FEIGN
- acuity-cloud项目必须启动Oauth服务
遇到问题流程:
ContextArgumentResolver#resolveArgument -> BaseEmployeeBiz#getSysUserById