利用路由守卫实现token过期后返回登录界面
const timeX = localStorage.getItem("time");
//如果有时间戳存在会判断token是否过期
if(timeX!==null){
const time=timeX.slice(1,-1)//获取了token的过期时间
const tokenTime=new Date(time);
const currentTimeUS=new Date();
const currentTimeCN=new Date(currentTimeUS.getTime()+8*60*60*1000)
if(currentTimeCN>tokenTime&& to.path !== '/login' && to.path !== '/register'){
localStorage.removeItem("user")
localStorage.removeItem("time")
return next('/login')
}
//在登录的时候往localstorage中塞一个date
const currentDate=new Date();
const tokenUselessDate=new Date(currentDate.getTime()+10*60*60*1000);
localStorage.setItem("time",JSON.stringify(tokenUselessDate));
最后加上登录状态异常的弹窗,完善了退出登录时的提醒
总结:这次遇到了不少坑,完成这一个小操作居然花了我2个小时
1.从localstorage中取出来的"time"是带引号的,如果直接丢给date格式化处理他会返回不了正确时间
2.vue的报错一定要仔细看浏览器的控制台,一开始我写入的时候timeX可能为空,后面还有对他进行字符串格式化的处理会导致一旦这玩意取不出来,整个页面就不显示了。
3.一定要注意不要在路由中形成环,我在路由中把登录注册内不包含信息给写上了,不然也会整个页面不显示
利用路由守卫实现token过期后返回登录界面的更多相关文章
- ubuntu忽然不能登录,输入密码正确一直返回登录界面
问题描述 由于配置eclipse命令启动,我修改了 /etc/environment 文件的内容,用命令 shutdown -r -now 重启后,输入密码正确一直返回登录界面. 查了下网上资料:系统 ...
- JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
JavaBean组件 JavaBean组件实际是一种java类.通过封装属性和方法成为具有某种功能或者处理某个业务的对象. 特点:1.实现代码的重复利用.2.容易编写和维护.3.jsp页面调用方便. ...
- token回话保持,axios请求拦截和导航守卫以及token过期处理
1:了解token:有时候大家又说token令牌.整个机制是前端第一次登陆发送请求,后端会根据前端的用户名和密码, 通过一些列的算法的到一个token令牌, 这个令牌是独一无二的,前端每次发送请求都需 ...
- Laravel Passport token过期后判断refresh_token是否过期
需求:前后端分离状态下,登录失效(token过期)后,前端需要知道下一步是跳转到登录页面还是使用refresh_token刷新token. 这就需要后端根据是否可以刷新token(refresh_to ...
- vue全局路由守卫beforeEach+token验证+node
在后端安装jsonwebtoken npm i jsonwebtoken --save 在 login.js文件中引入 // 引入jwtconst jwt = require ...
- vue路由守卫应用,监听是否登录
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...
- ubuntu14.04忽然不能登录,输入密码一直返回登录界面
解决方法: 1.ctrl + alt + F1进入命令终端 2.重装gdm,sudo apt-get install gdm 3.修改启动顺序:dpkg -reconfigure gdm 4.重启re ...
- kubeadm 生成的token过期后,集群增加节点
通过kubeadm初始化后,都会提供node加入的token: You should now deploy a pod network to the cluster. Run "kubect ...
- 使用kubeadm 新加入节点(原始token过期后)---转发
kubeadm join kubeadm init 安装完成后你会得到以下的输出,使用join指令可以新增节点到集群,此token 有效期为24小时 You should now deploy a p ...
- thinkphp实现登录后返回原界面
主要思路还是用session记录原地址,在登录后再跳转回原界面 先保存请求login方法界面的url public function savelogin(){ session('returnUrl', ...
随机推荐
- 编译安装mysql5.7.20
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \ ...
- RTOS入门
RTOS是什么? RTOS是一款操作系统,相当于Windows\Linux 分为ucos FreeRTOS RT-Thread LiteOS 比裸机开发的优势在于,多任务系统,不必串行 临界区 临界区 ...
- vue指令 常用指令 v-cloak指令
指令(Directives)就是vue给html标签提供的一些自定义属性,这样属性都是带有 v- 前缀的特殊属性.指令特性的值预期是单个JS表达式(v-for是例外情况).指令的职责是,当表达式的值改 ...
- hibernate映射对照表
2.3. Basic Types Basic value types usually map a single database column, to a single, non-aggregated ...
- docker制作springboot镜像
以下步骤在具有Docker环境的Linux机器上操作. 把springboot-1.0.0.jar放到/usr/local/springboot目录下,并在该目录下创建Dockerfile文件,内容为 ...
- 用 Python 绘制现金流量图
目录 用 Python 绘制现金流量图 Python 实现 实现原理 具体代码 使用示例 1:根据现金流量表绘制现金流量图 使用示例 2:绘制等额.等差.等比序列现金流量图 等额序列现金流量图 等差序 ...
- Built-in COM has been disabled via a feature switch.
.net 6.0 开始默认关闭com组件 使用时会出现以下信息 Built-in COM has been disabled via a feature switch. See https://aka ...
- C#使用RegNotifyChangeKeyValue监听注册表更改的几种方式
养成一个好习惯,调用 Windows API 之前一定要先看文档 RegNotifyChangeKeyValue 函数 (winreg.h) - Win32 apps | Microsoft Lear ...
- 我又学会了使用Range实现网络文件下载的断点续传
目录 前言 1.Range请求头 1.1.概述 1.2.使用限制 1.3.范围请求 1.4.预防资源变更 2.断点续传下载实现 2.1.流程设计 2.2.代码实现 2.3.运行结果 3.RandomA ...
- Linux的访问权限详解
题目 解读访问权限 rw-r--r--分别代表什么东西 r:代表可读 w:可写 e:可执行 方便起见进行拆分 rw- 代表文件所属用户的权限 r-- 代表同组用户的权限 r-- 代表其他用户的权限 同 ...