登录系统中token和session的比较

登录系统中token和session的比较

一、前置知识

1.认证

登录系统中token和session的比较

2.授权

登录系统中token和session的比较

3.凭证

登录系统中token和session的比较

二、cookie和session

1.出现原因

登录系统中token和session的比较

2.cookie

cookie的产生

cookie是服务器产生的
登录系统中token和session的比较
登录系统中token和session的比较
springboot设置cookie示例代码

1@RequestMapping("/testCookies")
2public String cookies(HttpServletResponse response){
3    response.addCookie(new Cookie("testUser","xxxx"));
4    return "cookies";
5}

登录系统中token和session的比较
登录系统中token和session的比较
登录系统中token和session的比较

cookie原理

登录系统中token和session的比较
第一次访问网站的时候,浏览器发出请求,服务器响应请求后,会将cookie放入到响应请求中,在浏览器第二次发请求的时候,会把cookie带过去,服务端会辨别用户身份,当然服务器也可以修改cookie内容

cookie存在哪

cookie一般是被浏览器以txt的形式存储在电脑硬盘中,供该浏览器进行读、写操作。

cookie的属性

登录系统中token和session的比较

cookie的共享策略

登录系统中token和session的比较

cookie不能跨域

跨域概念

3.session

出现背景

登录系统中token和session的比较

典型的session登录验证流程

登录系统中token和session的比较
登录系统中token和session的比较

Session的存储方式

登录系统中token和session的比较

Session的分布式问题

登录系统中token和session的比较

三、token相对于session的优点

1.Token 可以是无状态的,可以在多个服务间共享

当后端系统有多台时,由于是客户端访问时直接带着数据,因此无需做共享数据的操作。

2.Token可以避免CSRF攻击

CSRF

登录系统中token和session的比较

token解决

CSRF攻击之所以能够成功,是因为服务器误把攻击者发送的请求当成了用户自己的请求。那么我们可以要求所有的用户请求都携带一个CSRF攻击者无法获取到的Token。服务器通过校验请求是否携带正确的Token,来把正常的请求和攻击的请求区分开,也可以防范CSRF的攻击。

3.Token完全由应用管理,所以它可以避开同源策略

上一篇:rest-framework源码解析--SessionAuthentication


下一篇:CruiseControl.NET配置