1、登录退出问题
1.1 问题及解决方案
(1)问题:
登录之后进入home页面,删除SessionStorage中的token值后。
对页面刷新,仍然可以访问home页面。正常情况下,token值不在,该页面就不能访问。
(2)解决:
使用路由导航守卫来控制访问权限(使用了beforeEach 全局前置守卫):
- 如果用户访问的登录页,直接放行
- 如果不是登录页,从SessionStorage中获取保存的token值
- 如果token值不存在,强制跳转到登陆页面
1.2 登录实现
- 将登录之后的token,保存到客户端的sessionStorage中
- token只应在当前网站打开期间生效,所以将token保存在sessionStorage中
- 改进:除了登录页面,其它必须在登录之后才能访问(使用路由守卫解决)
1.3 token原理分析
补充:
本地存储包括localStorage(永久存储在本地)和sessionStorage(关闭窗口失效)