如何从spel中的主体对象获取当前登录用户的id?

xv8emn3q  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(433)

我见过很多这样的代码示例:

@RequestMapping("/user/{id}"}
@PreAuthorize("principal.userId == #id"}
public String getUrl(@PathVariable("id") Long id){

}

我不明白怎么可能直接从主体对象访问“userid”。当我尝试此操作时,唯一可以访问的属性是名称。

v6ylcynt

v6ylcynt1#

在控制器中执行此操作的最简单方法是使用 Authentication 对象。请尝试以下代码

@RequestMapping("/user"}
public String getUrl(Authentication authentication){
    //Get current logged in user. 
    //If the user not logged in then authentication will be null
    String userName = authentication.getName();
}

相关问题