在Sencha和SpringBoot

时间:2015-08-14 10:02:36

标签: authentication login sencha-touch spring-boot backend

我正在尝试使用Springboot在Sencha Touch中创建一个Web应用程序作为我的后端。我的应用程序将拥有用户,并且每个用户都将拥有自己独立的活动。如何让我的应用程序“知道”用户登录的内容,以便显示其具体详细信息?我是一个新手,并不确切知道如何做到这一点,特别是在服务器端(Springboot)。如果有人能发光,那就太棒了!谢谢!

1 个答案:

答案 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;      
}

然后可以从控制器方法调用它。