Vue登录退出功能

Vue登录/退出功能

登录概述

1.登录业务流程
  1. 在登录页面输入用户名和密码

  2. 调用后台接口进行验证

  3. 通过验证之后,根据后台的响应状态跳转到项目主页

2.登录业务的相关技术点
  • http是无状态的
  • 通过cookie在客户端记录状态
  • 通过session在服务器端记录状态
  • 通过token方式维持状态

如果前端与服务器端之间不存在跨域,可以使用cookie或session

如果前端与服务器端之间存在跨域,可以使用token

登录 - token原理分析

在这里插入图片描述

登录功能实现

1.登录页面的布局

通过Element-UI组件实现布局

  • el-form
  • el-form-item
  • el-input
  • el-button
  • 字体图标

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 路由导航守卫控制访问权限

如果用户没有登录,但是直接通过URL访问特定页面,需要重新导航到登录页面。

// 挂载路由导航守卫 -- 相当于通过token值是否为空 设置了网页的访问权限
router.beforeEach((to, from, next) => {
  // to 将要访问的路径
  // from 代表从哪个路径跳转而来
  // next 是一个函数,表示放行,可以执行
  //   1. next()放行
  //   2. next('/login) 【强制跳转】到login页面

  /* 如果请求登录页面,就放行 */
  if (to.path === '/login') return next()
  /* 请求登录之后才可以访问的页面 */
  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  // 如果token的值为空,表示没有登陆,就强制跳转到登录页面
  if (!tokenStr) return next('/login')
  // 如果token的值不为空,表示已经登陆了,就允许访问页面
  next()
})

退出

基于token 的方式实现退出比较简单,只需要销毁本地的token即可。这样,后续的请求就不会携带token,必须重新登录生成一个新的 token之后才可以访问页面。

即: 退出 – 销毁本地的token

// 清空token
window.sessionStorage.clear();
//   跳转到登录页
this.$router.push("/login");
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值