@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的有效性来判断用户是否登录。 该怎么做 谢谢大家
解决方案 »
- 版本冲突的问题
- java中二维数组的问题
- 错误!!“No action instance for path /ExceptionTest could be created”
- dojo 树
- Acegi的Basic验证启用RememberMeProcessingFilter后无法注销??
- 如何在普通类中调用spring中注册的service类
- Node.getTextContent()这个方法,在单元测试中一切正常,但在Servlet中运行时却抛出下面的异常
- 请问个位前辈一个tomcat的问题
- 当一个网站每天的访问量达到几十万人的时候,你用什么方法保证你的系统不死机?
- 一个方法里循环中throw 与 return 的不同?
- java 调用 wsdl形式的webservice
- Mybatis中怎么返回一个多表查询的结果
这个一般都是把登陆信息放到session中,然后通过filter校验session中是否存在登陆信息。
当然把登陆信息放到cookie中也是可以的。
其次token跟你的用户映射(同时一个终端登录,那就存用户表,同时多个终端登录,再建个token表跟用户表关联,这个应该清楚吧)
最后过滤器拿到cookie中的token,去数据库中验证
想快一点就用缓存
别的细节就不多说,取决于你的需求