我有Spring REST webserivce
现在从移动客户端Web服务被调用.
首先,根据发送的值userid和password调用login方法登录成功或失败.
@RequestMapping(value = "/login",method = RequestMethod.POST,headers="Accept=application/json")
public @ResponseBody List
现在,对于许多其他调用,我需要登录基于用户的值,因此需要保持会话并需要获取当前用户.在注销调用时,需要销毁会话.
如何做到这一点并实现,请帮助提出想法.
最佳答案
您不需要手动创建会话 – 这是由servlet容器完成的.
原文链接:https://www.f2er.com/spring/431820.html您可以从HttpServletRequest获取会话
HttpSession session = request.getSession();
或者只是将其添加为方法参数,Spring MVC将为您注入:
public @ResponseBody List
然后,您可以通过setAttribute()/ getAttribute()在会话中保存用户详细信息.
但是,您最好使用Spring Security,它仅用于执行任务 – 请参阅@ Pumpkins的参考答案. SecurityContext包含有关当前登录主体的信息,您可以从SecurityContextHolder获取该信息