cookie、session、token三者使用

时间:2022-05-08
本文章向大家介绍cookie、session、token三者使用,主要内容包括区别、登陆实现demo、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

区别

cookie是保存客户端的数据。

session是保存在服务端的数据。

token是个令牌。

登陆实现demo

  1. 登陆的记住密码

这里使用到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。

  1. session

因为是服务端的信息保存,比较安全,所以一般重要信息都放在session。

  1. token

cookie可以仿制,比如B用户发给A链接,通过A电脑访问,而且cookie还没过期,这时候就不安全了。

所以使用到token。

一般token包括用户id,loginTime等等,对一些安全要求高的借口进行token验证。

token值可放入本地缓存中,不可放入session,因为关闭浏览器这个session就不在了。