关于springmvc cookie 自动登录的问题

SomeTimeReal 2018-05-07 08:27:37

@RequestMapping(value = "/login", method = RequestMethod.POST)
public ModelAndView loginProcess(Student student, HttpServletRequest request, HttpServletResponse response) {

ModelAndView modelAndView = new ModelAndView();

String salt = student.getUsername();
String password = student.getPassword();
String password1 = MD5Util.getMd5withSalt(password, salt);

student.setUsername(salt);
logger.info(salt);
student.setPassword(password1);
logger.info(password1);
Student s1 = studentDao.login(student);

if (s1 != null) {
modelAndView = new ModelAndView("welcome");
modelAndView.addObject("student",s1);
String str = s1.getId() + ":" + System.currentTimeMillis();
logger.info("str==================" + str);

String token = DESUtil.encrypt(str,DESUtil.getkey());
logger.info("token===========================" + token);
response.addCookie(CookieUtil.getLoginCookie("token",token));

String token1= DESUtil.decrypt(token,DESUtil.getkey());
logger.info("token1=============="+token1);

} else {
modelAndView = new ModelAndView("redirect:login");
logger.info("帐号或者密码不存在");
}

return modelAndView;
}


上面的代码中,我的登录验证正常,生成token也正常,然后我使用response.addCookie(CookieUtil.getLoginCookie("token",token));把token 放入了cookie ,请问 该怎么从拦截器类里面 实现自动登录的功能,就是在
拦截器里通过Cookie中判断Token的有效性来判断用户是否登录。 该怎么做 谢谢大家
...全文
676 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_41368339 2018-05-08
  • 打赏
  • 举报
回复
你的意思是登陆以后,在访问其他页面要校验一下是否登陆过了。 这个一般都是把登陆信息放到session中,然后通过filter校验session中是否存在登陆信息。 当然把登陆信息放到cookie中也是可以的。
maradona1984 2018-05-08
  • 打赏
  • 举报
回复
首先你得把token存起来 其次token跟你的用户映射(同时一个终端登录,那就存用户表,同时多个终端登录,再建个token表跟用户表关联,这个应该清楚吧) 最后过滤器拿到cookie中的token,去数据库中验证 想快一点就用缓存 别的细节就不多说,取决于你的需求
苏颙 2018-05-08
  • 打赏
  • 举报
回复
你这不知道了嘛 就拦截器获取token啊

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧