1、作用
cookie、session、token都是用于存储用户信息,cookie将信息存储到浏览器,session、token则是存储到服务器中
2、使用场景
① session:用户每次登录,服务器都会检查浏览器Cookie是否有JSESSIONID,若没有,则服务器将进行创建并写入浏览器中,用户再次访问时,服务器将依据JSESSIONID查询对应session信息
PS:APP、前后端分离、小程序等应用,不建议使用此方式
- 开发繁琐,APP、前端应用不支持cookie,需要开发,过程繁琐
- 安全性和客户体验性差,若用户JSESSIONID泄露,则他人则可利用JSSSIONID获取用户身份;基于此安全问题,修改session过期时间,则用户需进行频繁登录,将降低用户的感知和体验性
- 有些前端技术不支持cookie,如小程序
② token(令牌方式) :服务器发送令牌给用户,用户每次请求都带上令牌进行访问
PS:APP、前后端分离、小程序等应用,建议使用此方式
3、token 方式实现
使用Spring Social,可以让我们快速实现第三方应用Client;而使用Spring Security OAuth则可以快速成为服务提供商