0
点赞
收藏
分享

微信扫一扫

【学生管理系统】整合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
  • 【学生管理系统】整合JWT(完)_java


  • yml配置
  • 【学生管理系统】整合JWT(完)_springboot_02


  • 登录生成token
  • 【学生管理系统】整合JWT(完)_javascript_03


5.2 携带Token

5.2.1 保存token

  • 用户登录成功后,将token保存浏览器
  • 【学生管理系统】整合JWT(完)_java_04


  • 通过浏览器查看保存的数据
  • 【学生管理系统】整合JWT(完)_javascript_05


5.2.2 携带token

  • 对axios进行增强,需要每次都写到token
  • 步骤:
  1. 编写nuxt的插件
  2. 注册插件
  1. 编写nuxt的插件
  2. 【学生管理系统】整合JWT(完)_springboot_06

  3. //https://axios.nuxtjs.org/helpers
  4. //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')     }   }) }
  5. 注册插件
  6. 【学生管理系统】整合JWT(完)_nuxt_07

  7. { src: '~/plugins/axios.js', mode: 'client' }
  • 测试:每次请求都携带token
  • 【学生管理系统】整合JWT(完)_nuxt_08


5.3 校验Token

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

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

 

5.4 获得Token


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


举报

相关推荐

0 条评论