广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue前端登录token信息验证功能实现
  • 579
分享到

Vue前端登录token信息验证功能实现

Vue token验证Vue前端token验证 2022-12-27 18:12:29 579人浏览 独家记忆
摘要

用户在首次访问网站时,应在登录页面填写账号密码,前端携带用户信息向服务器请求。 1、服务器验证用户信息 验证失败:给前端响应数据 验证通过:对该用户创建token,并以响应数据返回给

用户在首次访问网站时,应在登录页面填写账号密码,前端携带用户信息向服务器请求。

1、服务器验证用户信息

验证失败:给前端响应数据

验证通过:对该用户创建token,并以响应数据返回给前端

2、前端接受后端响应的数据

错误信息:提示错误消息

正确信息:页面进行跳转至首页,同时保存token(可以保存在cookie或localstorage)

3、用户点击某功能模块的触发请求(比如某功能有权限设置或是是否需要token)

利用路由守卫beforeEach()

将保存的token添加至请求拦截器的请求头中,并根据响应拦截器返回的状态码判断该功能模块是否有权限做出相应的跳转或拦截。

request.js

// 对于axiOS进行二次封装
import axios from 'axios';
const requests = axios.create({
    // 配置对象
    // 基础路径,发请求的时候,路径当中会有api
    baseURL: "/api",
    // 代表请求超时的时间 5s
    timeout: 5000,
});
 
// 请求拦截器:在发请求之前,请求拦截器可以监测到,可以在请求发出去之前做一些事情
requests.interceptors.request.use(
    (config)=>{
        const token = localStorage.getItem('token');
        // console.log('token',token);
        if(token) {
            let token = JSON.parse(localStorage.getItem('token')).token;
            config.headers['Authorization'] = token;
        }
    return config;
});
// 响应拦截器
requests.interceptors.response.use(
    (res)=>{
        const { status, data,message } = res
        if(data.success){
           return data
        }else{
            // 假设后端返回状态码20005代表没有访问权限
            if (data.code === 20006) {
                alert('您没有该功能的权限!')
            }
            // 将错误信息通过Promise返回,
            return Promise.reject(message)
        }
    },(error)=>{
        // 服务器响应失败的回调函数
        return Promise.reject(error);
    }
);
// 对外暴露
export default requests;

Login.Vue

    submitLogin(fORMName){
            this.$refs[formName].validate(async (valid) => {
                if (valid) {
                    // 先发送请求,验证用户
                    const {username,passWord} = this.loginForm;
                    let result = await this.$API.login.reqLogin(username,password);
                    if(result.code == 200){
                        // 成功后存储token并路由跳转
                        let token = {
                            time: new Date().getTime(),
                            token: result.data
                        };
                        localStorage.setItem("token",JSON.stringify(token));
                        this.$router.replace('/home');
                        this.$message({type:'success',message:'登录成功'});
                    }else{
                        alert('登录失败')
                    }
                } else {
                    this.$message.error('请重新输入账户和密码');
                    return false;
                }
            });
        }

在上面的代码中,将token和响应的时间戳一起保存成json对象,这样可以做到 每隔一定时间后需要重新登录的功能

router.js

// 判断登录是否过时,一天
let time=24 * 60 * 60 * 1000
// 全局前置守卫(路由跳转之前进行判断)
router.beforeEach((to, from, next) => {
    // 用户登录了才会有token,所以可以用来判断是否登录  
    let token = JSON.parse(localStorage.getItem('token'));
    if (token) {
        let deltime = new Date().getTime()
        if(deltime - token.time > time){
            alert('登录已经过期,请重新登录')
            localStorage.removeItem('token')
            next('/login')
        }else{
          next()
        }
    } else {   // 若没有token,访问登录页面放行,其他的路由请求均拒绝,跳转到登录页
        if (to.path == '/login') {
            next()
        } else {
            if(from.path == '/'){
                next('/login')
            }else{
                alert('请先登录,再访问其他页面')
                next('/login')
            }
        }
    }
})

到此这篇关于Vue前端登录token信息验证功能实现的文章就介绍到这了,更多相关Vue token验证内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue前端登录token信息验证功能实现

本文链接: https://www.lsjlt.com/news/175976.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue前端登录token信息验证功能实现
    用户在首次访问网站时,应在登录页面填写账号密码,前端携带用户信息向服务器请求。 1、服务器验证用户信息 验证失败:给前端响应数据 验证通过:对该用户创建token,并以响应数据返回给...
    99+
    2022-12-27
    Vue token验证 Vue前端token验证
  • VUE实现token登录验证
    本文实例为大家分享了VUE实现token登录验证的具体代码,供大家参考,具体内容如下 实现这个登录功能的过程真是一波三折,中途出现了bug,整了两三天才解决了问题,心力交瘁,简直一个...
    99+
    2022-11-12
  • Vue项目中token验证登录(前端部分)
    本文实例为大家分享了Vue项目中token验证登录的具体代码,供大家参考,具体内容如下 1、前言 最近在做毕业设计,我是做后端的,前端并不是很懂,看vue这个框架看了近两个礼拜才有点...
    99+
    2022-11-12
  • js前端实现登录拼图验证功能
    目录前言核心功能实现原理实现前端登录拼图验证搭建框架添加被校验区域及校验区域添加滑块、滑块背景、拖动条、提示文字添加交互联动被校验区域随机生成校验位置完整代码总结前言 不知各位朋友现...
    99+
    2023-02-17
    js登录验证 拼图验证 完成拼图通过验证
  • Java登录功能实现token生成与验证
    一、token与cookie相比较的优势 1、支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的; 2、无状态化,服务端无需存储token,只...
    99+
    2022-11-12
  • Vue实现用户登录及token验证
    在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1、第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2、后端收到请求,验证用户名和密码,验证成功,就...
    99+
    2022-11-12
  • vue实现token登录验证的完整实例
    目录token可用于登录验证和权限管理。登录页 -----Login.vue路由守卫 ----- router/index.js封装axios 添加请求拦截器 在每次请求之前进行的操...
    99+
    2022-11-13
  • vue实现web前端登录页数字验证码
    本文实例为大家分享了vue实现web前端登录页数字验证码的具体代码,供大家参考,具体内容如下 1.创建code.js文件夹下面是js代码 function GVerify(optio...
    99+
    2022-11-13
  • node+vue前后端分离实现登录时使用图片验证码功能
    目录后端代码前端代码获取验证码方法登录验证方法记录一下前端使用验证码登录的过程后端用的是node.js,关键模块是svg-captcha前端使用的是vue2最后的登录界面如下: 后...
    99+
    2022-11-13
     vue图片验证码登录 node前后端分离验证码登录
  • Vue PC前端扫码登录功能实现
    目录需求描述思路解析PC 扫码原理?前端功能实现如何生成二维码图片?如何控制二维码的时效性?前端如何获取服务器二维码的状态?参考资料:总结需求描述 目前大多数PC端应用都有配套的移动...
    99+
    2022-12-29
    vue扫码登录功能 vue登录功能 vue 扫码登录
  • SpringSecurity实现前后端分离登录token认证详解
    目录 1. SpringSecurity概述 1.1 权限框架 1.1.1 Apache Shiro 1.1.2 SpringSecurity 1.1.3 权限框架的选择 1.2 授权和认证 1.3 SpringSecurity的功能 ...
    99+
    2023-08-31
    spring java spring boot
  • vue中如何实现登录注册及token验证
    这篇文章主要介绍了vue中如何实现登录注册及token验证,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体实现代码如下:1. 利用rout...
    99+
    2022-10-19
  • 怎么用vue实现登录注册及token验证
    本篇内容主要讲解“怎么用vue实现登录注册及token验证”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用vue实现登录注册及token验证”吧!1. 利用router.beforeEach...
    99+
    2023-07-04
  • vue如何实现web前端登录页数字验证码
    这篇文章主要讲解了“vue如何实现web前端登录页数字验证码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现web前端登录页数字验证码”吧!创建code.js文件夹下面是js代码...
    99+
    2023-07-02
  • java如何实现短信验证码登录功能
    小编给大家分享一下java如何实现短信验证码登录功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!业务案例如下所示,是一个大家熟知的采用短信登录的入口输入手机号之...
    99+
    2023-06-25
  • Express + Session 实现登录验证功能
    1. 写在前面 当我们登录了一个网站,在没有退出登录的情况下,我们关闭了这个网站 ,过一段时间,再次打开这个网站,依然还会是登录状态。这是因为,当我们登录了一个网站,服务器会保存我们的登录状态,直到我们退出...
    99+
    2022-06-04
    功能 Express Session
  • java实现登录验证码功能
    本文实例为大家分享了java实现登录验证码功能的具体代码,供大家参考,具体内容如下 登录验证码 登录验证是大多数登录系统都会用到的一个功能,它的验证方式也是有很多种,例如登录验证码,...
    99+
    2022-11-12
  • java短信验证码登录功能设计与实现
    目录前言业务案例业务关键点剖析短信验证码功能实现思路有效期问题操作步骤前言 现在不管是各类的网站,还是大小社交app,登录方式是越来越多了,其中基于短信验证码的登录可以说是各类app...
    99+
    2022-11-12
  • Vue3实现登录表单验证功能
    目录一.实现思路与效果图二.实现具体过程三.完整代码与效果图一.实现思路与效果图 使用async-validator 插件,阿里出品的 antd 和 ElementUI 组件库中表单...
    99+
    2022-11-13
  • Java使用ThreadLocal实现当前登录信息的存取功能
    目录一、使用ThreadLocal实现当前登录信息的存取1,写一个工具类用于存取用户id2、在用户登录的时候我们在过滤器中可以获取用户的id,这个时候我们将用户id放入ThreadL...
    99+
    2023-02-21
    threadlocal存放登录用户 threadlocal保存用户登录信息 threadlocal 用户信息
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作