Spring Security OAuth2.0(8):获取登录用户的身份信息

📅 发布时间:2026/7/4 6:10:05 👁️ 浏览次数:
Spring Security OAuth2.0(8):获取登录用户的身份信息
如何获取用户的身份信息//核心通过SecurityContextHolder 获取登录用户的信息SecurityContextHolder.getContext().getAuthentication();具体实例、RestControllerpublicclassLoginController{RequestMapping(value/r/r1,producestext/plain;charsetutf-8)publicStringresources1(){returngetUsername() 访问r1资源;}/** * 获取当前用户信息 * * return */privateStringgetUsername(){//当前认证通过的用户身份信息AuthenticationauthenticationSecurityContextHolder.getContext().getAuthentication();Objectprincipalauthentication.getPrincipal();Collection?extendsGrantedAuthorityauthoritiesauthentication.getAuthorities();System.out.println(authorities);Stringusernamenull;if(principalnull){username匿名;}if(principalinstanceofUserDetails){UserDetailsuserDetails(UserDetails)principal;usernameuserDetails.getUsername();}else{usernameprincipal.toString();}returnusername;}}测试先登录http://localhost:8080/security-springboot/然后访问资源