登录状态 token
需求: 当用户登录,或者已经登录状态下刷新和重进web端,除了普通的路由配置(login、UserInfo、home、404等
),还需要用户的权限路由,需要根据用户信息拿到当前用户的权限路由,动态添加路由。
问题:
- 在
addRoutes()
之后第一次访问被添加的路由会白屏,这是因为刚刚addRoutes()
就立刻访问被添加的路由,然而此时addRoutes()
没有执行结束,因而找不到刚刚被添加的路由导致白屏。因此需要从新访问一次路由才行
router.beforeEach( async (to, from, next) => {const token = sessionStorage.getItem('access_token')// 存在 token 说明已经登录if (token) {// 登录过就不能访问登录界面,需要中断这一次路由守卫,执行下一次路由守卫,并且下一次守卫的to是主页'if (to.path === '/login') {next({ path: '/' })}// 保存在store中路由不为空则放行 (如果执行了刷新操作,则 store 里的路由为空,此时需要重新添加路由)if (Routerobj已存在) { //放行next()} else {//这里还需要保存Routerobj 防止重复进入这。await let Router = getAsyncRouterobj() //拿异步Routerobjrouter.addRoutes(Router) //需要添加的路由// 如果 addRoutes 并未完成,路由守卫会一层一层的执行执行,直到 addRoutes 完成,找到对应的路由next({ ...to, replace: true })}} else {// 未登录时,注意 :在这里也许你的项目不只有 logon 不需要登录 ,register 等其他不需要登录的页面也需要处理if (to.path !== '/logon') {next({ path: '/logon' })} else {next()}}
登录状态 token相关推荐
- python vue token_Haytham个人博客开发日志 -- Flask+Vue基于token的登录状态与路由管理...
指路牌 符合一下关键词,这篇博客有可能会对你有帮助 不使用工厂函数的Flask应用 不使用蓝本的Flask应用 Flask跨域配置 基于Token的登录状态管理 Flask+Vue Vue路由拦截 A ...
- uni 登录token方法_uni-app 中保持用户登录状态
在应用中保持登录状态是一个应用常见的需求,本文简单介绍下在 uni-app 中如何保存用户登录状态. 简介 uni-app 中不支持读写 cookie,所以不能如传统的应用那样通过读取 cookie ...
- cookie、session、Token究竟区别在哪?如何进行身份认证,保持用户登录状态?
HTTP是无状态的,也就是说你这次访问了服务器,关闭网页,再次访问服务器,服务器是没有意识到又是你来访问,那怎么保持登录状态呢? 设置让用户可以选择记住用户名和密码,但是把密码交给浏览器,如果电脑被黑 ...
- html登录状态验证,Token验证登录状态的简单实现
设计思路 用户发出登录请求,带着用户名和密码到服务器经行验证,服务器验证成功就在后台生成一个token返回给客户端 客户端将token存储到cookie中,服务端将token存储到redis中,可以设 ...
- 登录状态保持(cookie+session和token)
http设计之初,登录状态保持, 就是无状态的,这段时间业务逻辑也非常简单,随着互联网时代的来临,用户量的增加,每次登录却无法状态保持,先出现了cookie,但是cookie存储在客户端的浏览器上,并 ...
- H5页面获取原生APP的登录状态
使用场景 安卓和IOS客户端在做一些节日.拉新等临时活动时需要内嵌一个HTML5页面(活动相关的逻辑都在该页面上),在开发HTML5页面的角度,则需要APP端提供用户的登录状态(包括token/用户I ...
- android读取网络配置文件,Android 中保存、读取设置配置数据、记录登录状态
记录登录状态,我认为可以在用户登录成功后,与服务器约定一个 token 凭据,保存这个 token 凭据,而不是直接保存用户名.密码. 当然,保存 token 与保存设置数据是一样的,本文只讲解如何保 ...
- api可以主动采集用户数据吗_现在的前端框架全是通过API获得数据,如何记录用户登录状态?...
很多答案都提到了 JWT.Session.Cookie,但是我发现常常有人混淆这三个概念.或者说不同的语境下大家对 Session 会有不同的理解. 首先这三个名词表示的是三个纬度的东西,不能简单地说 ...
- SAP Spartacus 在未登录状态下浏览器 local storage 里存储的数据
url: http://localhost:4200/powertools-spa/en/USD/ 未登录状态下: 观察local storage存储的数据: auth: {token: {}, us ...
最新文章
- python导入py文件-Python导入其他文件中的.py文件 即模块
- java匿名类的用法
- postgres-#和postgres=#
- Angular self study 1 - Bootstrap
- (原创)RHEL/CentOS 5.x使用yum快速安装MySQL 5.5.x
- ASP.NET Core 源码学习之 Logging[2]:Configure
- linux延时与定时操作
- 谈谈你对oracle,对Oracle的优化
- Openstak(M版)控制节点安装
- 怎么往JFrame中添加图片
- 详解电脑蓝屏怎么回事
- webmagic之爬取数据存入HDFS
- lisp型材库_基于AutoLISP的AutoCAD标准零件库的开发研究
- python 连接pg数据库
- Java设计模式--单例模式(代码详解懒汉、饿汉模式)
- Google浏览器无法上网问题解决
- 【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer
- 大二C#实现酒店管理系统(C端展示、前台操作、登记入住、入住管理、职位管理、公告系统等)
- 彩虹秒赞7.8源码破解版(去域名授权) 彩虹云任务系统无任何限制
- Java中级——private、default和protect详解
热门文章
- 修改apache 2.4.6的MPM模式
- UVA12439 February 29【日期计算】
- HRBUST1754 Minimum Scalar Product【序列处理】
- HDU2087 剪花布条【KMP】
- Bailian2742 Number of letters【入门】
- POJ3069 Saruman's Army【贪心】
- POJ1321 Bailian1321 棋盘问题【DFS】
- Python 标准库 —— cgi/html
- leetcode(83)—— 删除已排序链表重复元素(Remove Duplicates from Sorted List)
- scipy.special —— 排列、组合与阶乘