vue路由跳转时判断用户是否登录功能

ConfigSzy ConfigSzy     2022-09-08     547

关键词:

通过判断该用户是否登录过,如果没有登录则跳转到login登录路由,如果登录则正常跳转。

  一丶首先在用户登录前后分别给出一个状态来标识此用户是否登录(建议用vuex);

      简单用vuex表示一下,不会可以自己去官网多看看;

import Vue from vue
import Vuex from vuex

Vue.use(Vuex);

var state = {
    isLogin:0,          //初始时候给一个  isLogin=0  表示用户未登录
};

const mutations = {
    changeLogin(state,data){
        state.isLogin = data;
    }

};

二丶在用户登录时改变登录状态;

  this.$store.commit(‘changeLogin‘,‘100‘)     //登录后改变登录状态 isLogin = 100 ;

三丶重点来了;

  在你的路由入口加上导航钩子,具体什么意思看代码;

     一丶设置需要校验的路由

  { path: /admin, 
component: Admin,
meta:{auth:true} // 设置当前路由需要校验 不需要校验的路由就不用写了;不要问为什么,自己去看官网
   }   

 二丶路由跳转并校验

router.beforeEach((to,from,next) => {
    if(to.matched.some( m => m.meta.auth)){
        // 对路由进行验证
        if(store.state.isLogin==100) { // 已经登陆
            next()     // 正常跳转到你设置好的页面
        }else{
            // 未登录则跳转到登陆界面,query:{ Rurl: to.fullPath}表示把当前路由信息传递过去方便登录后跳转回来;
       next({path:/login,query:{ Rurl: to.fullPath} })
     }
    }
else{
      next()
  }
})

 

vue路由守卫

参考技术A所谓路由守卫就是页面跳转时触发的钩子函数,我们称之为路由守卫,vue一共给我们提供了三种路由守卫,分别是全局路由守卫,组件内路由守卫,路由独享守卫,路由独享守卫是写在路由中的,这三种路由守卫都会... 查看详情

vue前端用户权限控制大全

...自定义权限指令在使用的按钮中只需要引用v-has指令全局路由守卫里做判断每次路由跳转的时候都要判断权限,这里的判断也很简单,因为菜单的name与路由的name是一一对应的,而后端返回的菜单就已经是经过权限过滤的如果根... 查看详情

vue中使用router全局守卫实现页面拦截及安全问题的一点感想(代码片段)

一、背景  在vue项目中使用vue-router做页面跳转时,路由的方式有两种,一种是静态路由,另一种是动态路由。而要实现对路由的控制需要使用vuex和router全局守卫进行判断拦截(安全问题文章最后讨论)二、使用场景  静态路... 查看详情

如何在vue中实现路由跳转判断用户权限功能

实现这类校验有几个步骤。1、设置路由是否需要校验的阀值。//路由配置的地方谁知阀值routes:[name:'admin',path:'/admin',component:'...,meta:auth:true//这里设置,当前路由需要校验]2、设置保存登陆态信息。//store.jsimportVuefrom... 查看详情

如何在vue项目中给路由跳转加上进度条(代码片段)

...,我们会注意到在有的网站中,当点击页面中的链接进行路由跳转时,页面顶部会有一个进度条,用来标示页面跳转的进度(如下图所示)。虽然实际用处不大,但是对用户来说,有个进度条会大大减轻用户的等待压力,提升用... 查看详情

vue2.0的常用功能简介

路由跳转当我们想要实现点击链接跳转时,可以使用$router来进行跳转语法如下:this.$router.push({path:"/www",query:{id:‘1222‘}}) 这里path是要跳转的路径,query里面是路径跳转时要携带的参数,以对象的形式存在2获取路由参数跳转... 查看详情

vue权限管理深度探究

实现思路如下:1、网页路由(route)中定义的每个路由都有meta属性,属性值防止可访问该路由的值。2、路由的全局前置守卫(beforeEach)会判断路由用户是否登录(未登录跳转至登录界面),以及登录用户是否有权限查看该页面... 查看详情

vue-router导航守卫的简单使用(代码片段)

...置守卫。所谓前置导航守卫,即在准备跳转到下一页面(路由)之前根据一定的条件可以对跳转目标进行改变的机制。我们可以在此判断用户是否有权访问即将跳转的页面,用户是否登录来对页面跳转施加影响。例如当用户未登... 查看详情

vue实战篇|使用路由管理用户权限(动态路由)

...我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。跟着我一起来学vue实战篇路由管理权限吧!getCurrentAuthority()函数用于获取当... 查看详情

解决vue-router报错:navigationcancelledfrom“/...“to“/...“withanewnavigation(代码片段)

...装旧版本。npminstallvue-router@2.8.0-S方案二:针对于路由跳转相同的地址添加catch捕获一下异常。this.$router.push(path:'/register').catch(err=>console.log(err))方案三:在路由router里面加上以下这段代码//解决编程式路由往... 查看详情

vue路由拦截、http拦截

参考技术A第一步:路由拦截定义完路由后,我们主要是利用vue-router提供的钩子函数beforeEach()对路由进行判断。每个钩子方法接收三个参数:其中,to.meta中是我们自定义的数据,其中就包括我们刚刚定义的requireAuth字段。通过这... 查看详情

vue在路由跳转时,如何让跳转的页面显示在最顶端

参考技术Acreated()this.menu();,methods:menu()window.scrollTo(0,0); 查看详情

vue的router路由跳转传参——实现跳转时url不显示参数

http://localhost:8080/login/sss#效果实现前http://localhost:8080/login#效果实现后方法:使用Vue组件的name属性进行跳转 查看详情

vue导航守卫,验证是否登录

路由跳转前,可以用导航守卫判断是否登录,如果登录了就正常跳转,没有登录就把路由指向登录页面。router.beforeEach((to, from, next) =>   const nextRoute = [ ‘api‘, ‘my/index, ‘course‘];&... 查看详情

vue实现登陆注册功能(小白篇)

...3、前端拿到token,将token存储到localStorage和vuex中,并跳转路由页面4、前端每次跳转路由,就判断localStroage中有无token,没有就跳转到登录页面,有则跳转到对应路由页面5、每次调后端接口,都要在请求头中加token6、后端判断请... 查看详情

vue判断是否登录,未登录跳转到登录页(代码片段)

网页一进入判断是否登录,未登录跳转到登录页面router.jsexportdefaultnewRouter(routes:[path:'/',name:'HelloWorld',component:HelloWorld,meta:title:'首页',requiresAuth:true//是否需要判断是否登录,path:'/log 查看详情

vue项目实现用户登录以及携带token

...3、前端拿到token,将token存储到localStorage和vuex中,并跳转路由页面4、前端每次跳转路由,就判断localStroage中有无token,没有就跳转到登录页面,有则跳转到对应路由页面5、每次调后端接口,都要在请求头中加token6、后端判断请... 查看详情

vue项目实现登录携带token(代码片段)

...en存储在localStorge()和vuex中,并跳转到主页4.前端每次跳转路由就判断localStorge中是否有token,没有就跳转到登录页5.每次调用后端,都要在请求头部添加token6.后端判断是否有token,有token,就验证token,验证成功就返回数据,验证失败... 查看详情