我一旦登录后主页就显示登录好的头像在右上角,如果使用token机制,是不是每次刷新主页或其他存在头像的页面,都要请求一下登录状态是否过期了呢,要吗?如果过期不是立刻进入登录页面,而是右上角的头像设置为默认没有头像的样式,暗世需要登录,如果没过期就继续显示头像在那。如果是这种方法,那岂不是刷新十次就要请求十次了?
我一旦登录后主页就显示登录好的头像在右上角,如果使用token机制,是不是每次刷新主页或其他存在头像的页面,都要请求一下登录状态是否过期了呢,要吗?如果过期不是立刻进入登录页面,而是右上角的头像设置为默认没有头像的样式,暗世需要登录,如果没过期就继续显示头像在那。如果是这种方法,那岂不是刷新十次就要请求十次了?
用localStorage.setItem()
和localStoarage.getItem()
把token存储到本地,这样就可以下次刷新可以访问本地存储是否有token值,不需要再发起Ajax请求
Token可以为一组信息的编码
例:
{'username': 123, 'password': 123, 'expiration': '2019-08-12 12:00:00'}
对于是否到期,前端解码判断相关时间字段即可。
如JWT
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
个人认为应该看项目的需求,
是否允许长期存储的 token,或者 多点登陆之类的
如果需求有 是否过期 这个概念的时候,你只能去请求
如果需求只有 是否登陆 这个概念,那么久不用考虑刷新,只需要考虑回收 token 就可以了
当然,前提是不考虑多点登陆的情况