1、H5的本地保存localStorage、sessionStorage用法总结
localStorage: 方法存储的数据没有时间限制。
sessionStorage: 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
localStorage、和sessionStorage的用法:(localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem、removeItem、clear。下面以localStorage举例)(1) setItem 存储 value.setItem( key, value) 将value存储到key字段。
例:localStorage.setItem("job", "basketballplayer")。(2) setItem 存储 json对象
localStorage 和 sessionStorage也可存储Json对象,存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。
(3) getItem获取value
.getItem(key) 获取指定key本地存储的值。 例:localStorage.getItem("job")。(4)removeItem删除key
.removeItem(key)删除指定key本地存储的值。 例:localStorage.removeItem("job");(5)clear清除所有的key/value
.clear() 清除所有的key/value 例:localStorage.clear();2、token认证
什么是token?
token是一个用户自定义的任意字符串,目前开发中,token都是在服务端生成并且token的值会保存到服务器后台。只有服务器和客户端知道这个字符串,于是,这个token就成了两者之间的秘钥,它可以让服务器确认请求是来自客户端还是恶意的第三方。为什么使用token?
简单地说,token的使用就是为了数据安全,前台是通过接口路径(URL)的调用来获取数据的,如果恶意的第三方知道了某一个接口路径,那么,他便可以直接通过接口路径在网页上直接获取该接口的所有数据信息。如果添加了token,类似于这种恶意的行为便不会产生。token是在用户登录的时候产生的,在前台登录某一个系统并且获得一个token之后,前台需要将该token设置在请求头上,以确保之后的每一次请求都是带着该“令牌“的,当然后台的接口请求也设置了该请求头.基于token验证的流程?
客户端使用用户名跟密码请求登录
服务端收到请求,去验证用户名和密码(后台根据请求去数据库查找是否有该用户)
验证成功后,服务端会签发一个token(该token值一般都会存入Redis数据库中,并设置过期时间),再把这个token发送给客户端
客户端收到token之后,一般存储在localStorage(HTML5新特性,只要不手动删除存储的内容,存储的信息会一直存在)中
客户端每次向服务端请求资源的时候需要带着服务端签发的token
服务端收到请求,然后去验证客户端请求里面带着的token(token是否为该用户的令牌以及token是否有效等),如果验证成功,就向客户端返回请求的数据