我正在尝试使用Springboot在Sencha Touch中创建一个Web应用程序作为我的后端。我的应用程序将拥有用户,并且每个用户都将拥有自己独立的活动。如何让我的应用程序“知道”用户登录的内容,以便显示其具体详细信息?我是一个新手,并不确切知道如何做到这一点,特别是在服务器端(Springboot)。如果有人能发光,那就太棒了!谢谢!
答案 0 :(得分:0)
假设您计划使用Spring Security,可以通过其主体获取当前用户数据。有几种方法可以获得委托人。一种方法是在控制器方法中有一个主要参数,Spring会注入它。像这样:
@RequestMapping(value = "/user", method = RequestMethod.GET)
@ResponseBody
public String currentUserName(Principal principal) {
return principal;
}
另一种方法是使用这样的实用方法:
public static User getUser() {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth != null) {
Object principal = auth.getPrincipal();
if (principal instanceof User) {
return (U) principal;
}
}
return null;
}
然后可以从控制器方法调用它。