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

目录

[5. 整合JWT](#5. 整合JWT)

[5.1 生成Token](#5.1 生成Token)

[5.2 携带Token](#5.2 携带Token)

[5.2.1 保存token](#5.2.1 保存token)

[5.2.2 携带token](#5.2.2 携带token)

[5.3 校验Token](#5.3 校验Token)

[5.4 获得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);
相关推荐
To_OC10 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
kyriewen13 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
小bo波14 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
山河木马14 小时前
矩阵专题0-webGL中的矩阵
javascript·webgl·计算机图形学
SamDeepThinking14 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize15 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
陳陈陳15 小时前
从Token到Embedding:一篇文章搞懂大模型的「文字数学变形记」
前端·javascript·ai编程
用户9385156350715 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
橘子星15 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能
To_OC16 小时前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法