一.简介
前面章节学习了登录表单的配置并且对源码进行了简单的分析,现在有个问题了,既然用户登录了,那么如何在接口中获取用户信息呢。这篇文章就来看下这个问题,代码中获取登录用户信息。
二.创建项目
如何创建一个SpringSecurity项目,前面文章已经有说明了,这里就不重复写了。
三.代码中获取登录用户信息
获取登录用户信息有两种方式:
- 通过 SecurityContextHolder 获取
- 注入 Authentication
3.1通过 SecurityContextHolder 获取
代码如下:
@RequestMapping("/")
@ResponseBody
public String index(){
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
return JSON.toJSONString(authentication);
}
返回结果中返回了用户信息,权限信息,还有一个details,这个我们后面是需要实现自己的,扩展我们业务中的信息。截图如下: