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

SpringCloud微服务之间如何进行用户信息传递(涉及:Gateway、OpenFeign组件)

目录

    • 1、想达到的效果
    • 2、用户信息在微服务之间传递的两种途径
    • 3、用RuoYi-Cloud为例进行演示说明
      • (1)网关将用户信息写在请求头中
      • (2)业务微服务之间通过OpenFeign进行调用,并且将用户信息写在OpenFeign准备的请求头中
      • (3)当请求到达业务微服务时,拦截器会从请求头中获取用户信息,并放在ThreadLocal中

1、想达到的效果

在业务微服务中通过工具类获取当前用户信息

2、用户信息在微服务之间传递的两种途径

  1. 网关微服务(Gateway)往业务微服务传递用户信息
  2. 业务微服务之间通过OpenFeign传递用户信息

只要把上面两处打通,然后业务微服务在通过拦截器获取到用户信息,之后再将用户信息存在ThreadLocal中,这样我们就可以实现在业务微服务中通过工具类获取当前用户信息的效果了

直接上图说明整体流程:

在这里插入图片描述

3、用RuoYi-Cloud为例进行演示说明

说明:

  • RuoYi-Cloud:https://gitee.com/y_project/RuoYi-Cloud
  • 演示步骤:下面步骤以上图为例进行演示

(1)网关将用户信息写在请求头中

  • 代码:AuthFilter.java类—filter方法
  • 具体位置截图:
    在这里插入图片描述

(2)业务微服务之间通过OpenFeign进行调用,并且将用户信息写在OpenFeign准备的请求头中

  • 代码:FeignRequestInterceptor类—apply方法
  • 具体位置截图:
    在这里插入图片描述

(3)当请求到达业务微服务时,拦截器会从请求头中获取用户信息,并放在ThreadLocal中

  • 代码:HeaderInterceptor类—preHandle方法
  • 具体位置截图:
    在这里插入图片描述

相关文章:

SpringCloud微服务之间如何进行用户信息传递(涉及:Gateway、OpenFeign组件)

目录 1、想达到的效果2、用户信息在微服务之间传递的两种途径3、用RuoYi-Cloud为例进行演示说明(1)网关将用户信息写在请求头中(2)业务微服务之间通过OpenFeign进行调用,并且将用户信息写在OpenFeign准备的请求头中&am…...

RabbitMQ之TTL+死信队列实现延迟队列

RabbitMQ是一个流行的消息队列系统,它提供了许多有用的功能,其中之一是TTL(Time To Live)和死信队列。这些功能可以用来实现延迟队列,让我们来看看如何使用它们。 首先,什么是TTL?TTL是消息的存…...

GrapeCity Documents for PDF (GcPdf) 6.2 Crack

GrapeCity PDF 文档 (GcPdf) 改进了对由 GcPdf 以外的软件生成的现有 PDF 文档的处理 在新的 v6.2 版本中,GcPdf 增强了 PDF 文档的加载和保存,并提供以下优势: GcPdf 现在可以加载和保存可能不严格符合 PDF 规范的 PDF 文档。GcPdf 现在将…...

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据) 1.模型原理1.1 模型原理1.2 数学模型2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 随机森林(Random Forest)是一种集成学习方法,通过组合多个决策树来构建强大的分类或回归…...

问AI一个严肃的问题

chatgpt的问世再一次掀起了AI的浪潮,其实我一直在想,AI和人类的关系未来会怎样发展,我们未来会怎样和AI相处,AI真的会完全取代人类吗,带着这个问题,我问了下chatgpt,看一看它是怎么看待这个问题…...

Flowable流程的挂起与激活详解

1. 挂起与激活的定义及区别 在Flowable流程中,挂起是指将流程实例暂停,它将停止执行当前步骤并暂时中断流程的执行。相反,激活是指恢复被挂起的流程实例的执行,使其能够继续执行后续步骤。 区别在于挂起流程实例后,流…...

探索前端动画之CSS魔法

引言 在现代网页设计中,动画已经成为了吸引用户注意力、提升用户体验的重要手段之一。而在前端开发中,CSS动画是一种常见且强大的实现方式。本篇博客将带你深入探索前端动画中的CSS魔法,通过清晰的思路和完整的示例代码,帮助你掌…...

Oracle数据库登录遇到密码临期问题

在oracle数据库中,如果设置了密码的有效期,则会出现密码临期提醒的问题,默认的密码有效期是180天,默认的密码提醒时间是15天(此处缺乏官方文档支撑),在密码临近过期时,如果登录 Orac…...

LVGL学习笔记 30 - List(列表)

目录 1. 添加文本 2. 添加按钮 3. 事件 4. 修改样式 4.1 背景色 4.2 改变项的颜色 列表是一个垂直布局的矩形,可以向其中添加按钮和文本。 lv_obj_t* list1 lv_list_create(lv_scr_act());lv_obj_set_size(list1, 180, 220);lv_obj_center(list1); 部件包含&…...

Ubuntu下mysql安装及远程连接支持配置

1.安装 下载mysql-server(必须加sudo) sudo apt update sudo apt install mysql-server 查看mysql的状态 sudo service mysql status 通过如下命令开启mysql sudo service mysql start 2.配置 第一次安装mysql后,为root设置一个密码 …...

自然语言处理: 第八章chatGPT的搭建

理论基础 Transformer 大模型家族可以分成三类, 至于三者的区别可以参考上一章: Encoder-only,Decoder-only, 只需要Pre_trainEncoder-decoder , 可以在一些任务上无需进行fine_tune 必须要在下游任务进行微调比如Bert , Bart 。 T5 这种无需要微调就能完成一些任…...

阿里云国际版云服务器防火墙怎么设置呢?

入侵防御页面为您实时展示云防火墙拦截流量的源IP、目的IP、阻断应用、阻断来源和阻断事件详情等信息。本文介绍了入侵防御页面展示的信息和相关操作,下面和012一起来了解阿里云国际版云服务器防火墙设置: 前提条件 您需要先在防护配置页面,开…...

安装elasticsearch

一、docker安装elasticsearch 1、下载镜像 docker pull elasticsearch:6.5.4 2、启动容器 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.typesingle-node" \ -e "cluster.nameelasticsearch" \ -e "ES_JAVA_OPTS-Xm…...

【Sklearn】基于朴素贝叶斯算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于朴素贝叶斯算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 模型原理: 朴素贝叶斯分类是基于贝叶斯定理的一种分类方法。它假设特征之间相互独立(朴素性),从而简化计算过…...

学习Vue:创建和使用组件

组件化开发是现代前端开发的一种重要方法,它可以将复杂的应用程序拆分成多个独立、可复用的组件。在Vue.js中,创建和使用组件非常简单,让我们一起来了解如何通过Vue.js实现组件化开发。 创建组件 在Vue.js中,您可以通过Vue.compo…...

【MongoDB基础】

目录 一、概述 1.概念 2.相关 2.1 实例 2.2 库 2.3 集合 2.4 文档 2.5 主键 3.特性 4,应用场景 二、安装 1.RPM安装 2.启动数据库 三、目录结构 1.rpm -ql mongodb-org-server 2.rpm -ql mongodb-org-shell 3.rpm -ql mongodb-org-tools 四、默…...

NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践 0 背景介绍以及相关概念 本项目对3种常用的文本匹配的方法进行实现:Poin…...

2023牛客第八场补题报告A H J K

2023牛客第八场补题报告A H J K A-Alive Fossils_2023牛客暑期多校训练营8 (nowcoder.com) 思路 统计字符串&#xff0c;取出现次数为t的。 代码 #include <bits/stdc.h> #define int long long #define endl \n #define IOS ios::sync_with_stdio(0), cin.tie(0), …...

KubeSphere 部署 Zookeeper 实战教程

前言 知识点 定级&#xff1a;入门级如何利用 AI 助手辅助运维工作单节点 Zookeeper 安装部署集群模式 Zookeeper 安装部署开源应用选型思想 实战服务器配置(架构 1:1 复刻小规模生产环境&#xff0c;配置略有不同) 主机名IPCPU内存系统盘数据盘用途ks-master-0192.168.9.9…...

麦肯锡重磅发布2023年15项技术趋势,生成式AI首次入选,选对了就是风口

两位朋友在不同群里分享了同一份深度报告。 一位是LH美女&#xff0c;她在“AIGC时代”群里上传了这份文档&#xff0c;响应寥寥&#xff0c;可能是因为这些报告没有像八卦文那样容易带来冲击。 你看韩彬的这篇《金融妲己&#xff1a;基金公司女销售的瓜&#xff0c;一个比一个…...

重新安装微信新版本后才发现历史记录文件夹名称不匹配!解决方法

重新 安装/恢复 电脑&#xff0c;安装微信最新版本 记录文件夹变更为&#xff1a;xwechat_files 旧的格式&#xff1a;WeChat Files 找很多方法&#xff0c;以及腾讯官方的说明&#xff0c;无效、费解&#xff0c;来点干货&#xff0c;成功解决经验&#xff1a; &#xff08;1&…...

效率提升300%:Qwen3.5-9B在OpenClaw中的批量文件处理技巧

效率提升300%&#xff1a;Qwen3.5-9B在OpenClaw中的批量文件处理技巧 1. 为什么需要批量文件处理自动化 作为一个经常需要处理大量文档的技术写作者&#xff0c;我过去每周要花至少8小时在重复的文件整理上——重命名几百个截图、合并多个Markdown文档、批量转换PDF为可编辑格…...

快照模式 vs 命令模式:一篇分清什么时候用谁

在做带撤销、回滚、历史记录的功能时&#xff0c;我们最常纠结两个设计模式&#xff1a;快照模式&#xff08;备忘录模式&#xff09;和命令模式。很多同学容易混淆&#xff0c;其实核心区别一句话就能记住&#xff1a; 快照存数据&#xff0c;命令存动作。 下面用最清晰、最好…...

UE4动画师救星:用Control Rig快速修复动捕数据的5个实战技巧与避坑指南

UE4动画师救星&#xff1a;用Control Rig快速修复动捕数据的5个实战技巧与避坑指南 在动作捕捉技术日益普及的今天&#xff0c;动画师们常常面临一个尴尬的现实&#xff1a;昂贵的动捕设备能捕捉到演员生动的表演&#xff0c;但原始数据往往充斥着各种瑕疵——手部穿模、脚步滑…...

电子电路设计中7种关键接口技术解析与应用

1. 电路接口概述&#xff1a;信号传输的关键桥梁在嵌入式系统和电子电路设计中&#xff0c;接口技术就像城市之间的高速公路系统。当CPU需要与传感器"对话"&#xff0c;当存储器要与处理器"交换情报"&#xff0c;这些不同模块之间的信号传输总会面临三大挑…...

OpenClaw浏览器自动化:Qwen3-14b_int4_awq驱动网页检索与数据抓取

OpenClaw浏览器自动化&#xff1a;Qwen3-14b_int4_awq驱动网页检索与数据抓取 1. 为什么需要浏览器自动化助手 作为一个经常需要收集行业动态的技术博主&#xff0c;我每天要花大量时间在不同网站间切换、搜索关键词、复制粘贴数据。这种重复劳动不仅效率低下&#xff0c;还容…...

智能应急灯V16:多场景照明解决方案

目录 一、方案概述 二、硬件方案设计 2.1 硬件整体架构 2.2 核心模块选型与设计 2.2.1 主控模块&#xff08;核心单元&#xff09; 2.2.2 电源管理模块&#xff08;供电核心&#xff09; 2.2.3 照明驱动模块 2.2.4 状态监测模块 2.2.5 通信模块&#xff08;可选&#…...

CLIProxyAPI + OpenCode

LIProxyAPI一键安装,# https://help.router-for.me/cn/introduction/quick-start.html curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bashGo 代码 &#x1f914;&#xff0c;有环境直接源码编译…...

开源串流方案实现跨设备游戏:Sunshine自建串流服务器全指南

开源串流方案实现跨设备游戏&#xff1a;Sunshine自建串流服务器全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 当你想在平板上畅玩PC端3A大作&#xff0c;或在客厅电视上体…...

Keil5避坑大全:如何解决中文路径、红叉问题和动态语法检查的误区

Keil5开发实战&#xff1a;彻底解决中文路径、红叉与语法检查三大难题 在嵌入式开发领域&#xff0c;Keil MDK作为ARM处理器的主流开发环境&#xff0c;其稳定性和专业性备受开发者信赖。但即使是这样一个成熟的工具链&#xff0c;在实际使用中仍会遇到几个高频痛点&#xff1a…...