zoukankan      html  css  js  c++  java
  • 3.登录/退出功能

    登录概述

    1.登录业务流程
    ①在登录页面输入用户名和密码
    ②调用后台接口进行验证
    ③通过验证之后,根据后台的响应状态跳转到项目页
    2.登录业务的相关技术点

    • http 是无状态的
    • 通过cookie在客户端记录状态
    • 通过session在服务器端记录状态
    • 通过token方式维持状态

    说明:现在做的这个vue项目运行在一个新的端口号,服务器可能与前端vue项目之间存在跨域问题,
    如果前端和后台接口之间不存在跨域问题,那么推荐大家使用cookie和session来记录登录状态,
    反之,如果前端与服务器之间存在跨域问题,那么需要使用token的方式来维持登录状态。

    登录——token原理分析

    登录功能实现

    1.登录页面的布局
    通过Element-UI组件实现布局

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

    创建一个子分支

    git checkout -b 分支的名字
    例:git checkout -b login
    

    查看当前项目中的所有分支

    git branch
    

    登录功能实现

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

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

    //为路由对象,添加beforeEach导航守卫
    //to代表将要访问的页面路径,from代表从哪个页面路径跳转而来的,next代表一个放行的函数
    router.beforeEach((to,from,next)=>{
        //如果用户访问的登录页,直接放行
        if(to.path==='/login') return next()
        //从sessionStorage中获取到保存的token值
        const tokenStr=window.sessionStorage.getItem('token')
        //没有token,强制跳转到登录页
        if(!tokenStr) return next('/login')
        next()
    })
    

    退出

    退出功能实现原理

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

    //清空token
    window.sessionStorage.clear()
    //跳转到登录页
    this.$router.push('/login')
    
  • 相关阅读:
    python3.4下django集成使用xadmin后台
    在django中集成ckeditor富文本
    python多线程爬虫设计及实现示例
    利用python将mysql中的数据导入excel
    win7中python3.4下安装scrapy爬虫框架(亲测可用)
    windows下pycharm远程调试pyspark
    python连接impala(安装impyla)
    将百度坐标转换的javascript api官方示例改写成传统的回调函数形式
    csv导入数据到mysql
    windows下python连接oracle数据库
  • 原文地址:https://www.cnblogs.com/songsongblue/p/12095906.html
Copyright © 2011-2022 走看看