cookie是保存客户端的数据。
session是保存在服务端的数据。
token是个令牌。
这里使用到cookie,登陆时将cookie值返回给客户端。
String val = Aes.encrypt(uid.toString(), WebConstant.AES_SALT);
boolean isSSL = false;
Cookie cookie = new Cookie(WebConstant.USER_IN_COOKIE, val);
cookie.setPath("/");
cookie.setMaxAge(60 * 30);
cookie.setSecure(isSSL);
response.addCookie(cookie);
之后每次登陆,在拦截器里,取出对应的cookie。
因为是服务端的信息保存,比较安全,所以一般重要信息都放在session。
cookie可以仿制,比如B用户发给A链接,通过A电脑访问,而且cookie还没过期,这时候就不安全了。
所以使用到token。
一般token包括用户id,loginTime等等,对一些安全要求高的借口进行token验证。
token值可放入本地缓存中,不可放入session,因为关闭浏览器这个session就不在了。