热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

登录/退出功能

1.登录业务流程:在登录页面输入用户名和密码调用后台接口进行验证通过身份验证,跳转到项目主页2.登录状态保持:HTTP是无状态协议。所谓无状态是指

1. 登录业务流程:


  1. 在登录页面输入用户名和密码
  2. 调用后台接口进行验证
  3. 通过身份验证,跳转到项目主页

2. 登录状态保持:

HTTP是无状态协议。所谓无状态是指协议对于事务处理没有记忆功能,对于同一个URL请求没有上下文关系,每次的请求都是独立的,服务器没有保存客户端的状态。可以通过COOKIE、session和token来保持用户状态。


  1. 如果服务器和客户端同源,使用COOKIE或session保持登录状态。COOKIE在客户端记录状态,session在服务器端记录状态。
  2. 如果服务器和客户端跨域,使用token来维护登录状态

3. 登录原理分析(token):

用户在登录页面输入账号和密码,客户端将输入的数据发送给服务器,服务器返回登录结果,登录成功返回带有token的数据,客户端得到token并保存,后续的请求都需要带上这个token发送给服务器,服务器会验证token以保证用户身份。
在这里插入图片描述

(1). 登录代码:

login(){this.$refs.loginFormRef.validate(async valid=>{if(!valid){return;}const {data: res} = await this.$http.post('login',this.loginForm);console.log({data: res});if(res.meta.status !== 200){return this.$message.error('登录失败!')}this.$message.success('登陆成功')// 1.登陆成功后的token,保存到客户端的sessionStrorage中// 1.1 项目中除了登录之外的其他API接口,必须在登录之后才能访问// 1.2 token只在网页打开期间生效,所以将token保存在sessionStrorage中window.sessionStorage.setItem('token',res.data.token)// 2.通过编程式导航跳到后台主页this.$router.push('/home')})}

4. 退出登录:

销毁本地token即可:

logout() {// 销毁tokenwindow.sessionStorage.clear()this.$router.push('/login')},

推荐阅读
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • h5调用本地摄像头和麦克风一
    h5调用本地摄像头和麦克风一,Go语言社区,Golang程序员人脉社 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 事件是程序各部分之间的一种通信方式,也是异步编程的一种实现形式。本文将详细介绍EventTarget接口及其相关方法,以及如何使用监听函数处理事件。 ... [详细]
  • 直播带货系统中的推流技术详解
    本文介绍了RTMP(实时消息传输协议)及其在直播带货系统中的应用,并详细探讨了带货直播系统的连麦方案,包括服务端合流和客户端合流的优势与劣势。 ... [详细]
  • 【线段树】  本质是二叉树,每个节点表示一个区间[L,R],设m(R-L+1)2(该处结果向下取整)左孩子区间为[L,m],右孩子区间为[m ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
author-avatar
DD906114329
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有