登录和拦截的整个流程说明

1 在登录成功以后,将 token 存储到 localStorage 中

2 在 导航守卫 中先判断当前访问的页面是不是登录页面

3 如果是登录页面,直接放行(next())

4 如果不是登录页面,就从 localStorage 中获取 token,判断有没有登录

5 如果登录了,直接放行(next())

6 如果没有登录,就跳转到登录页面让用户登录(next(’/login’))

import Vue from 'vue'
import Router from 'vue-router'// 导入 Login 组件(注意,不要添加 .vue 后缀)
import Login from '@/components/login/Login'
// 导入首页组件
import Home from '@/components/home/Home'Vue.use(Router)const router = new Router({routes: [{ path: '/home', component: Home },{ path: '/login', component: Login }]
})// 全局导航守卫
// 所有的路由都会先走守卫
// 添加导航守卫之后,不管是访问哪个路由,都会执行beforeEach回调函数中的代码
// 因为所有的路由,都会经过该导航守卫,所以,就可以在这个导航守卫的回调函数中
// 判断有没有登录了
router.beforeEach((to, from, next) => {// console.log('导航守卫在看门', to)// ...if (to.path === '/login') {// 如果访问的是login页面,直接放行,也就是任何人不管有没有登录// 都可以访问登录页面// 直接调用 next() 方法,表示:访问的是哪个页面,就展示这个页面的内容next()} else {// 访问的不是登录页面// 判断用户是否登录成功,// 1 当用户登录成功,直接调用 next() 方法放行// 2 当用户没有登录,应该调用 next('/login') 跳转到登录页面,让用户登录// 通过登录成功时候保存的token,来作为有没有登录成功的条件const token = localStorage.getItem('token')if (token) {// 有,登录成功next()} else {// 没有,登录失败next('/login')}}
})export default router

接口调用的说明

  • 注意:所有接口都需要传递 token,只有传递了正确的 token,服务器才会将数据返回给前端
  • 如果没有传递token,服务器会返回 401 ,告诉接口调用者,没有权限来访问这个接口

登录拦截 安全卫士 vue相关推荐

  1. Vue + Spring Boot 项目实战(七):前端路由与登录拦截器

    文章目录 前言 一.前端路由 二.使用 History 模式 三.后端登录拦截器 3.1. LoginController 3.2. LoginInterceptor 3.3. WebConfigur ...

  2. vue拦截器刷新登陆页面_Vue + Spring Boot 项目实战(六):前端路由与登录拦截器-Go语言中文社区...

    前言 这一篇主要讲前端路由与登录拦截器的实现.放在一起讲是因为我在开发登录拦截器时因为这个路由的问题遇到了很多坑,花费了很长时间,网上的解决方案都不怎么靠谱,综合了好几种办法才最终成功,其实关于这个部 ...

  3. Vue登录拦截 登录后继续跳转指定页面

    在开发中我们经常遇到这样的需求,需要用户登录后才可以访问该页面,如果用户没有登录点击该页面时则自动跳转到登录页面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢? 1.在路由器router下 ...

  4. Vue + Spring Boot 项目实战(六):前端路由与登录拦截器

    本篇目录 前言 一.前端路由 二.使用 History 模式 三.后端登录拦截器 1.LoginController 2.LoginInterceptor 3.WebConfigurer 4.效果检验 ...

  5. vue项目中实现登录拦截

    一.路由拦截 如果开发的是后台管理项目,希望必须登录才能访问其他页面的话,就用下面的这种方式进行拦截 import Vue from 'vue' import Router from 'vue-rou ...

  6. 【Vue+axios】 登录拦截验证token,路由拦截器

    GitHub项目地址:https://github.com/superman66/vue-axios-github/tree/master/src router文件夹中的index.js添加路由权限校 ...

  7. 简单实现vue中的登录拦截

    本文主要讲述如何在vue中使用路由判断简单实现登陆的的拦截. 如何实现 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利 ...

  8. vue路由登录拦截器_Vue路由器

    vue路由登录拦截器 介绍 (Introduction) In a JavaScript web application, a router is the part that syncs the cu ...

  9. vue+axios 前端实现登录拦截(路由拦截、http拦截)

    一.路由拦截 登录拦截逻辑 第一步:路由拦截 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利进入路由, 否则就进入登录 ...

最新文章

  1. django 数据库迁移注意事项
  2. 平衡二叉树平衡因子怎么计算_平衡二叉树(AVL Tree)旋转机制分析
  3. 关于spring 获取不到网站上的xsd的处理记录
  4. Image Warp插件实现图片点击扩大渐隐效果
  5. django与python之间关系_Django 模型中表与表之间关系
  6. 二进制与以 2 为底的指数
  7. 程序局部性(时间局部性与空间局部性)与循环展开原理详解
  8. Qt Style Sheet实践(二):组合框QComboBox的定制
  9. oracle嵌套case when,case when 中是否可以在嵌套一个case when ?
  10. Camera tuning 基础知识点
  11. 【css技巧】CSS filter的神奇用法 | 褪色|融合效果等
  12. iOS应用开发入门(1)——第一个iOS应用
  13. 远程教育两周,家长崩溃简史
  14. VUE使用document.onkeydown键盘的监听与移除
  15. UITextField默认输入法不是简体拼音的问题的解决方法
  16. 『居善地』接口测试 — 11、接口自动化框架的设计与实现(三)
  17. 成为跨领域的「解决方案架构师」需要什么素养?
  18. JavaScript一键换肤
  19. 【C语言每日一题】——猜凶手
  20. win10 / ubuntu 双系统安装

热门文章

  1. C# 4.0捷径教程(奋斗的小鸟)_PDF 电子书
  2. ITF25码详解(附带PB代码)
  3. CSDN产品周报第6期|CSDN问答新增打赏及@用户功能
  4. 学习用康虎云报表模板设计器制作好用的报表(2)
  5. AsposeWord和DocxWord开源读写Word文档
  6. 解决会声会影X5出现错误38,文件已损坏或被修改
  7. CSAPP实验记录(一):环境配置datalab
  8. php验证身份证的合法性 ps:js验证身份证的合法性
  9. 2016CCF、CSP 第二题铁路购票系统的简单座位分配算法(JAVA版)
  10. minecraftjava下载地址_MinecraftJava版20w51a