token登录验证机制与session登录验证机制的优缺点 |
您所在的位置:网站首页 › 实现用户登录的判断依据有哪些 › token登录验证机制与session登录验证机制的优缺点 |
首先我们需要来了解token和session登录验证的过程 token登录验证机制
貌似看这两种登录验证没什么差别,但是其实差别很大,token的验证机制比session的验证机制更加灵活方便。 与session验证项目token的优点 支持跨域访问: Cookie是不允许垮域访问的,这一点对Token机制是不存在的,前提是传输的用户认证信息通过HTTP头传输.无状态(也称:服务端可扩展行):Token机制在服务端不需要存储session信息,因为Token 自身包含了所有登录用户的信息,只需要在客户端的cookie或本地介质存储状态信息.更适用CDN: 可以通过内容分发网络请求你服务端的所有资料(如:javascript,HTML,图片等),而你的服务端只要提供API即可.去耦: 不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在你的API被调用的时候,你可以进行Token生成调用即可.适用接口跨平台: 当你的客户端是一个原生平台(iOS, Android,Windows 8等)时,Cookie是不被支持的(你需要通过Cookie容器进行处理),这时采用Token认证机制就会简单得多。CSRF:因为不再依赖于Cookie,所以你就不需要考虑对CSRF(跨站请求伪造)的防范。性能: 一次网络往返时间(通过数据库查询session信息)总比做一次HMACSHA256计算 的Token验证和解析要费时得多.不需要为登录页面做特殊处理: 如果你使用Protractor 做功能测试的时候,不再需要为登录页面做特殊处理.基于标准化:你的API可以采用标准化的 JSON Web Token (JWT). 这个标准已经存在多个后端库(.NET, Ruby, Java,Python, PHP)和多家公司的支持(如:Firebase,Google, Microsoft)虽然token有这么多好处,但是有缺点就是对程序员的要求也会更高,session相对来说编写起来简单,而token的体系稍微复杂一些,最好可以使用现成的框架来搭建。 这里推荐一开始说的spingboot-security,博主现在也还在研究这个框架的使用,有啥问题可以留言一起讨论。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |