当前位置: 首页 > news >正文

【学生管理系统】整合JWT(完)

目录

5. 整合JWT

5.1 生成Token

5.2 携带Token

5.2.1 保存token

5.2.2 携带token

5.3 校验Token

5.4 获得Token

5. 整合JWT

5.1 生成Token

  • 用户登录成功后,通过工具类,将用户信息转换成token

  • 步骤:

    • 拷贝工具类,及其Properties类

    • yml配置

    • 登录生成token

  • 拷贝工具类,及其Properties类

     

    • 注意:Swagger处理标准请求头,不再是X-Token

       

  • yml配置

     

  • 登录生成token

     

5.2 携带Token

5.2.1 保存token

  • 用户登录成功后,将token保存浏览器

     

  • 通过浏览器查看保存的数据

     

5.2.2 携带token

  • 对axios进行增强,需要每次都写到token

  • 步骤:

    1. 编写nuxt的插件

    2. 注册插件

  1. 编写nuxt的插件

     

    //https://axios.nuxtjs.org/helpers
    //https://axios.nuxtjs.org/extend
    export default function ({ $axios, redirect }) {
        $axios.onRequest(config => {
            // 从 localStorage 获得token,并添加到头
            let token = localStorage.getItem('token')
            if(token) {
                //Adds header: `Authorization: 123` to all requests
                $axios.setToken(token)
            }
        })
      
        $axios.onError(error => {
          const code = parseInt(error.response && error.response.status)
          if (code === 400) {
            redirect('/400')
          }
        })
    }

  2. 注册插件

     

    { src: '~/plugins/axios.js', mode: 'client' }

  • 测试:每次请求都携带token

     

5.3 校验Token

  • 在Gateway编写过滤器,注意:处理的请求头名字为Authorization

 

5.4 获得Token

TbUser tbUser = JwtUtils.getObjectFromToken(token, jwtProperties.getPublicKey() , TbUser.class);

相关文章:

  • 腾讯面试——机器学习岗面试总结
  • 【Linux】4.0进程控制
  • 初识C语言--第二弹
  • React 中 memo useMemo useCallback 到底该怎么用
  • 计算模型的GFLOPs和参数量 举例VGG16和DETR
  • JDK8新时间日期API
  • 笔试强训48天——day5
  • 图像处理——图像增强
  • 【PyTorch深度学习项目实战100例】—— 基于LeNet5实现交通标志分类任务 | 第50例
  • SpringBoot--在Entity(DAO)中使用枚举类型
  • 【0基础学习mysql】之字符串函数和数值函数
  • 大前端—Vue
  • Python邮件发送接收实战
  • 视觉检测工作台设计
  • 牛客网-《刷C语言百题》
  • 【Amaple教程】5. 插件
  • 【Linux系统编程】快速查找errno错误码信息
  • echarts花样作死的坑
  • Java 最常见的 200+ 面试题:面试必备
  • Java比较器对数组,集合排序
  • Lucene解析 - 基本概念
  • Mysql优化
  • PHP 7 修改了什么呢 -- 2
  • Python学习笔记 字符串拼接
  • Python学习之路13-记分
  • windows下使用nginx调试简介
  • Yii源码解读-服务定位器(Service Locator)
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 深入浅出Node.js
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序 setData 学问多
  • 小李飞刀:SQL题目刷起来!
  • 携程小程序初体验
  • 因为阿里,他们成了“杭漂”
  • Prometheus VS InfluxDB
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (篇九)MySQL常用内置函数
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)80c52学习之旅-起始篇
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ***检测工具之RKHunter AIDE
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Core 项目指定SDK版本
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现