Vue登录拦截 登录后继续跳转指定页面的操作
在开发中我们经常遇到这样的需求,需要用户登录后才可以访问该页面,如果用户没有登录点击该页面时则自动跳转到登录页面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢?
1、在路由器router下的 index.js 的配置中,给需要拦截登录的页面的路由上加一个meta: {loginRequest: true} ,其中loginRequest 变量自己可以随意定义
2、在main.js文件里面添加beforeEach钩子函数
解释:
router.beforeEach((to, from, next) => { } 三个参数:
to:即将要进入的目标 路由对象
from:当前导航正要离开的路由
next:(function函数) 调用next() 进行管道中的下一个钩子
next() 无参 进行 下一个钩子函数
next({ path:'/xxx' , query:{}}) 携带参数跳到xxx页面
3、登录页面login.vue,登录完成后,跳到指定页面或首页
补充知识:vue实现登录后跳转到来源路由url
sessionStorage存储from.path来源的路由url,如果不是登录或者注册就拦截跳到登录页,如果是就放行
router.beforeEach(function(to,from,next){ if(to.path!='/login' && to.path!='/register'){ sessionStorage.setItem('referrer',from.path) //储存来源路由 alert('请登录') next({ path:'/login' }) }else{ next() } })
登录后判断sessionStorage中是否有存储来源路由,如果有就跳转到这个路由
//获取来源页路由 var referrer = sessionStorage.getItem('referrer'); if(referrer != null){ this.$router.push(referrer) }else { this.$router.push('/home') }
以上这篇Vue登录拦截 登录后继续跳转指定页面的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Vue中的验证登录状态的实现方法
Vue项目中实现用户登录及token验证 先说一下我的实现步骤: 使用easy-mock新建登录接口,模拟用户数据 使用axios请求登录接口,匹配账号和密码 账号密码验证后, 拿到token,将token存储到sessionStorage中,并跳转到首页 前端每次跳转时,就使用导航守卫(vue-router.beforeEach)判断 sessionStorage 中有无 token ,没有就跳转到登录页面,有则跳转到对应路由页面. 注销后,就清除sessionStorage里的token信息
-
vue实现未登录跳转到登录页面的方法
环境:vue 2.9.3; webpack;vue-router 目的:实现未登录跳转 例子:直接在url地址栏输入...../home,但是这个页面要求需要登陆之后才能进入,判断的值就通过登陆之后给本地缓存存入的token判断,如果没有就跳转到登录页面,有的话就打开. 图示: 1.直接在url地址栏输入http://127.0.0.1:9000/#/home,但是页面会直接跳转到登录页,而且会带上参数. --------------------------------------------分
-
vue实现登录后页面跳转到之前页面
在开发中我们经常遇到这样的需求,需要用户直接点击一个链接进入到一个页面,用户点击后链接后会触发401拦截返回登录界面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢? 先说一下我们需要用到的几个API: 1.router.currentRoute:当前的路由信息对象,我们可以通过router.currentRoute.fullPath获得解析后的 URL,包含查询参数和 hash 的完整路径,如果要访问的页面的路由有命名(name)的话,可以通过router.currentRoute.
-
vue跳转页面的几种方法(推荐)
vue跳转不同页面的多种方法 1:router-link跳转 <!-- 直接跳转 --> <router-link to='/testDemo'> <button>点击跳转2</button> </router-link> <!-- 带参数跳转 --> <router-link :to="{path:'testDemo',query:{setid:123456}}"> <button>点击跳
-
Vue登录拦截 登录后继续跳转指定页面的操作
在开发中我们经常遇到这样的需求,需要用户登录后才可以访问该页面,如果用户没有登录点击该页面时则自动跳转到登录页面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢? 1.在路由器router下的 index.js 的配置中,给需要拦截登录的页面的路由上加一个meta: {loginRequest: true} ,其中loginRequest 变量自己可以随意定义 2.在main.js文件里面添加beforeEach钩子函数 解释: router.beforeEach((to, from,
-
vue页面跳转实现页面缓存操作
业务需求 打野在A页面野区进行一波骚操作打了一只蓝爸爸,然后点击导航栏跑到B页面的野区秀操作打了一只红爸爸,然后他又回到A野区,希望A野区还是只有一只蓝爸爸被打的状态,其他野没被偷 第一步 在路由里面设置需要缓存的页面 第二步 使用keep-alive属性包裹需要缓存的页面使用v-if判断,为true的是需要缓存的,false是不需要缓存的 第三步 在需要缓存的页面设置导航钩子,在A野区离开时将值设置为false保证离开当前野区不被偷 第四步 在其他野区浪一波离开时设置为true,保证回到A野区
-
vue 点击按钮 路由跳转指定页面的实现方式
目录 点击按钮 路由跳转指定页面 最终效果 vue跳转页面常用的方式 1:router-link跳转 2:this.$router.push() 3.this.$router.replace() 4.this.$router.go(n) ps : 区别 点击按钮 路由跳转指定页面 最终效果 点击指定按钮,跳转指定 /login 页面 代码: <button @click="gotolink" class="btn btn-success">点击跳转页面&
-
PHP使用Apache的伪静态功能实现“网页404时跳转指定页面
需求: 1.例如我之前的网站域名是"www.jb51.net",有一个文章的链接是"www.jb51.net/article-5-1.html" 2.因为业务调整或其他原因,更改了域名和网站结构,域名变更为"www.jb51xxxx.net",那么别人访问"www.jb51.net/article-5-1.html"这个文章链接时就访问不到了.出现如下404情况: 解决方案: 1.在网站根目录下新建一个.htaccess伪静
-
asp.net网站首页根据IP自动跳转指定页面的示例
对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有城市站点的功能,如果没有设置相应的城市站点,默认就是根据用户访问的IP地址的所在城市自动设置.本文主要通过自定义扩展IHttpModule接口,考虑到性能IP数据库主要采用QQwry纯真IP数据库,主要实现根据IP地址或地址段或IP所在城市进行自动跳转到指定页面的功能(支持Nginx作为前端反向代理服务器),该WebsiteSkip组件核心代码如下: 复制代码 代码如下:
-
Android实现外部唤起应用跳转指定页面的方法
前言 通常有这么一个场景,就是分享内容到微信朋友圈等,然后点击内容中的某个按钮就可以唤起自家应用. 这里要讲的也是使用 scheme 的方式去实现跳转,先捋一捋思路,首先如果要外部能唤醒 App ,那么 App 肯定要先注册一个全局的事件监听吧.然后,应该有一个页面来处理接受事件然后解析出具体的参数然后跳转具体的页面.就是这么简单. 思路捋好来,那么就来一一实现吧. 注册事件监听 这里需要使用到 Android Activity中的 <intent-filter> ,现在可以创建一个解析跳转的
-
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
有这样一个场景:如果你在登录之前输入了http://localhost:8080/oauth2-mgm-app/#/userManage,想进入userManage页面,但是由于没有登录,系统是不会让你进入这个页面,之后会被定向到login页面.但是在登录之后,认为你有这个权限了,就需要重新定向到userManage页面.大致流程图如图1所示: 图1 登录后跳转到未登录前指定页面流程图 在vue-route的官方文档里其实有给到过这个demo,官方文档链接在此:https://router.vu
-
vue+axios实现登录拦截的实例代码
一个项目学会vue全家桶+axios实现登录.拦截.登出功能,以及利用axios的http拦截器拦截请求和响应. 前言 该项目是利用了Github 提供的personal token作为登录token,通过token访问你的Repository List.通过这个项目学习如何实现一个前端项目中所需要的 登录及拦截.登出.token失效的拦截及对应 axios 拦截器的使用. 准备你需要先生成自己的 Github Personal Token( 生成Token). Token 生成后 访问Demo
-
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
一.路由拦截 登录拦截逻辑 第一步:路由拦截 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利进入路由, 否则就进入登录页面. const routes = [ { path: '/', name: '/', component: Index }, { path: '/repository', name: 'repository', meta: { requireAuth: true, // 添加该字段,表示进入这个
-
vue路由实现登录拦截
一.概述 在项目开发中每一次路由的切换或者页面的刷新都需要判断用户是否已经登录,前端可以判断,后端也会进行判断的,我们前端最好也进行判断. vue-router提供了导航钩子:全局前置导航钩子 beforeEach和全局后置导航钩子 afterEach,他们会在路由即将改变前和改变后进行触发.所以判断用户是否登录需要在beforeEach导航钩子中进行判断. 导航钩子有3个参数: 1.to:即将要进入的目标路由对象: 2.from:当前导航即将要离开的路由对象: 3.next :调用该方法后,才
随机推荐
- jQuery ctrl+Enter shift+Enter实现代码
- 简化版手机端照片预览组件
- 网管员需注意的十点安全技巧
- 15分钟提醒一次,珍惜时间啊
- Python读取文件内容的三种常用方式及效率比较
- JS+CSS实现可以凹陷显示选中单元格的方法
- JavaScript 撑出页面文字换行
- JavaScript SHA-256加密算法详细代码
- JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
- Laravel框架路由配置总结、设置技巧大全
- PHP使用DirectoryIterator显示下拉文件列表的方法
- 数组处理函数库第1/2页
- Android实现获取签名及公钥的方法
- PHP给文字内容中的关键字进行套红处理
- linux下修改MAC地址问题解决方法
- Python实现购物系统(示例讲解)
- 浅谈C#.NET、JavaScript和JSON
- 中文地址的英文写法
- google优化圣经做网站必备第1/3页
- C#文件操作的简单实例