案例:还是官网中间表的修改,修改者是谁呢?肯定是当前用户,那么我们需要拿到当前用户的详细信息
- 通过SecurityContextHolder当前上下文获取授权用户信息–学习参考自朝雨忆清晨(JWT)
这里通过Spring Security Oauth2+JWT和他的Spring Security + JWT其实差不多,只是多了一个授权服务器。
解析JWT之后,将解析出的信息存储在Spring Security Context上下文中,这样需要认证的接口,只需要对比接口的@PreAuthorizate是否相同就可以。
@PostMapping("/update/list")
public HttpResult update(@RequestBody List<SysRole> sysRoles, @RequestParam(value = "菜单编号",required = false) List<Long> menus,
Principal principal){
try{
//1.
System.out.println("prin:"+principal.getName());
//2.
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
System.out.println("auth:"+authentication.getName());
//System.out.println("private-prin:"+principal.getName());
for(SysRole sysRole: sysRoles){