在搭建的系统中,最基本的登录都是必须的,结合Vue的路由,涉及最多的就是登录状态的判断。也就是说,如果一个组件要校验登录状态,则在用户初始进入时,就要去判断用户是否登录,这里的校验登录状态就是本篇的重点。

直接上实例,需要的拿走

一、router / index.js 路由中加校验

export default new Router({
routes: [
{
path: '/',
name: 'login',
component: login
},
{
path: '/login',
name: 'login',
component: login
},
{
path: '/componentA',
name: 'componentA',
component: componentA,
meta:{
requireLogin:true // 当前路由需要校验,不需要就不用写
}
},
{
path: '/componentB',
name: 'componentB',
component: componentB,
meta:{
requireLogin:true
}
},{
path: '/HelloWorld',
name: 'HelloWorld',
component: HelloWorld,
meta:{
requireLogin:true
}
},{
path: '/orderManager',
name: 'orderManager',
component: orderManager,
meta:{
requireLogin:true
}
}
]
})

二、main.js 判断该路由是否需要登录权限

router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requireLogin)){ // 判断该路由是否需要登录权限
if (sessionStorage.getItem('loginInfo')) { // 判断当前用户的登录信息loginInfo是否存在
next();
} else {
next({
path: '/'
})
}
}else {
next();
} })

三、login.vue 登录组件内,登陆成功后的处理

this.$http({
method: 'POST',
url: this.userLoginUrl,
data: param
}).then((res) => {
sessionStorage.setItem('loginInfo',JSON.stringify(res.data.result));
this.$router.push('/HelloWorld'); // 登陆成功后默认跳转的路由
})

四、实现效果

1、在地址栏键入 http://localhost:8080 ,因为路由的原因,直接跳去登录模块,地址栏:http://localhost:8080/#/

2、在地址栏继续键入componentA ,即 http://localhost:8080/#/componentA 回车,因为 componentA 是需要校验的模块,现在未登录,所以路由 path: '/' ,页面还是跳去了登录页面。

        

3、填写数据登录

点击登录,页面按照 login.vue 中的默认跳转路由,跳去 HelloWorld 模块:

Vue——路由:登录状态的判断的更多相关文章

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

    通过判断该用户是否登录过,如果没有登录则跳转到login登录路由,如果登录则正常跳转. 一丶首先在用户登录前后分别给出一个状态来标识此用户是否登录(建议用vuex): 简单用vuex表示一下,不会可以 ...

  2. vue用户登录状态判断

    之前项目中用来判断是否登录我写了多种方案,但是最终只有一个方案是比较好的,这篇博客就是分享该方案; 先说基本要求: 项目中的登录状态是依据服务器里的状态来作为判断依据; 每一个需要登录后才能操作的接口 ...

  3. vue路由登录拦截(vue router登录权限控制)

    实现原理: 哪些路由需要验证需要在路由文件router/index.js中指定: { path: '/', component: Home, name: 'Home', iconCls: 'fa fa ...

  4. vuex实现登录状态的存储,未登录状态不允许浏览

    基础思路就是使用vuex状态管理来存储登录状态(其实就是存一个值,例如token),然后在路由跳转前进行登录状态的判断,可以使用vue-router的全局前置守卫beforeEach,也可以使用路由独 ...

  5. SpringBoot开发十三-检查登录状态

    需求介绍-检查登录状态 防止用户知道我们的一些功能的链接,直接就进到了该页面,就像有些功能是管理员访问才能进的,就需要进行登录状态的判断. 我们知道这个功能点很多其他的功能点都需要使用,所以我们需要使 ...

  6. vue使用vue-router beforEach实现判断用户登录跳转路由筛选

    vue使用vue-router beforEach实现判断用户登录跳转路由筛选 :https://www.colabug.com/3306814.html 在开发webApp的时候,考虑到用户体验,经 ...

  7. vue 根据接口返回的状态码判断用户登录状态并跳转登录页,登录后回到上一个页面(http拦截器)

    背景:后台接口返回code==501表示用户是未登录状态,需要登录才可访问: 通过http拦截做路由跳转 第一步:src目录下新建http.js文件,内容如下: import Axios from ' ...

  8. [代码笔记]VUE路由根据返回状态判断添加响应拦截器

    //返回状态判断(添加响应拦截器) Axios.interceptors.response.use( res => { //对响应数据做些事 if (res.data && !r ...

  9. vue路由守卫应用,监听是否登录

    路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...

随机推荐

  1. RestFramework之序列化组件

    一.restframework的序列化组件的使用 1.导入序列化组件与模型类 from rest_framework import serializers from app01.models impo ...

  2. FDD-LTE上下行带宽一样的,为什么上下行流量差别这么大

    转:https://zhidao.baidu.com/question/923940070377297579.html 虽然FD系统,上下行使用的带宽一样,但是上下行的信号编码效率完全不同.上行信号( ...

  3. WMware Workstation——网络类型:NAT、bridge、host-only

    bridge NAT host-only 总结: NAT和host-only都需要虚拟网卡(WMware Adapter Card)实现物理机和虚拟机互访. NAT和bridge都可以访问外网 NAT ...

  4. jar命令详解

    原文链接:https://www.cnblogs.com/anyehome/p/9435371.html JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的, ...

  5. html简单代码示例

    运行示例: 代码内容如下: <!DOCTYPE html> <html> <head>  <title>九九乘法口诀表</title> &l ...

  6. centos + docker搭建深度学习环境以及一些问题解决

    必须要说容器是一个很牛逼的思想!注意,是思想!也许docker有种种问题,但是不管docker能否茁壮地发展下去,未来这种方式的环境搭建一定会变得越来越流行! 网上有很多这方面的教程,但大多数都不太好 ...

  7. 解决在macOS下安装了python却没有pip命令的问题【经验总结】

    可以使用brew直接安装python,但是安装完成了之后没有pip命令. pip是常用的python包管理工具,类似于java的maven.第一反应brew install pip,却提示没这货. 可 ...

  8. Hive窗口函数案例详解

    语法: 分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置) 常用分析函数: 聚合类 avg().sum().max(). ...

  9. [hdoj6483][莫队+线段树/ST]

    A Sequence Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  10. selenium之python源码解读-expected_conditions

    一.expected_conditions 之前在 selenium之python源码解读-WebDriverWait 中说到,until方法中method参数,需要传入一个function对象,如果 ...