首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring Security 如何动态更新已登录用户信息?松哥来和大家捋一捋

    ().setAuthentication(authResult); 这样一行简单的保存代码,至少带给我们两方面的信息: 以后在任何地方,只要想获取用户信息,只需要调用 SecurityContextHolder.getContext...().getAuthentication() 就可以获取到。...以后在任何地方,只要想更新用户信息,只要调用 SecurityContextHolder.getContext().setAuthentication(authResult); 就可以更新。...1.获取用户登录信息 用户信息的获取,其实办法很多,上面提到的 SecurityContextHolder.getContext().getAuthentication() 是一个静态方法,也就是利用这个方法..."/hr/info") public Hr getCurrentHr(Authentication authentication) { return ((Hr) authentication.getPrincipal

    6K10

    Spring Security 实战干货:如何获取当前用户信息

    SecurityContext 无论是有状态的Session模式还是流行的JWT模式你都可以通过SecurityContext来获取当前的用户: Authentication authentication = SecurityContextHolder.getContext...().getAuthentication(); String currentPrincipalName = authentication.getName(); 当然这种方式是不够严谨的,如果接口允许匿名访问很可能返回一个匿名用户...,而匿名用户并不能直接通过getName获取,所以我们需要优化上面的逻辑为: Authentication authentication = SecurityContextHolder.getContext...().getAuthentication(); if (!...); } 当然你还可以通过expression参数声明SpEL表达式来获取其它属性,例如获取Principal对象: @GetMapping("/principal") public String getPrincipal

    7.3K20
    领券