我见过很多这样的代码示例:
@RequestMapping("/user/{id}"} @PreAuthorize("principal.userId == #id"} public String getUrl(@PathVariable("id") Long id){ }
我不明白怎么可能直接从主体对象访问“userid”。当我尝试此操作时,唯一可以访问的属性是名称。
v6ylcynt1#
在控制器中执行此操作的最简单方法是使用 Authentication 对象。请尝试以下代码
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(); }
1条答案
按热度按时间v6ylcynt1#
在控制器中执行此操作的最简单方法是使用
Authentication
对象。请尝试以下代码