【发布时间】:2020-10-30 10:55:45
【问题描述】:
我有一个带有 spring security 的 spring boot 应用:
<spring-security-oauth2.version>2.2.1.RELEASE</spring-security-oauth2.version>
<spring-security-jwt.version>1.0.9.RELEASE</spring-security-jwt.version>
我有以下用户实体:
`@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
private String name;
@NotNull
private String email;
@NotNull
private String pass;
//权限 //获取和设置 `
我想获取登录的用户 ID,为此我尝试如下:
@GetMapping("/userId")
@ResponseBody
public String currentUserName(Authentication authentication) {
return authentication.getName();
}
但我只得到用户名。如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
根据您的设置,您可能可以
((UserEntity) authentication.getPrincipal()).getId()。另外,请查看参考文档中的@AuthenticationPrincipal:docs.spring.io/spring-security/site/docs/current/reference/…
标签: spring-boot spring-security