首页 > 其他分享 >gateway(二)微服务之间传递用户信息

gateway(二)微服务之间传递用户信息

时间:2024-05-03 15:46:39浏览次数:13  
标签:feign UserContext 用户 gateway 传递 Bean import Logger public

package com.hmall.api.config;

import com.hmall.common.utils.UserContext;
import feign.Logger;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.context.annotation.Bean;

public class DefaultFeignConfig {   //  千万不要在这个类上面加@Configuration注解,因为这个配置类会在其它启动类上的注解引用
    @Bean
    public Logger.Level feignLogLevel() {
        return Logger.Level.BASIC;
    }
    @Bean
    public RequestInterceptor userInfoInterceptor() {
        return new RequestInterceptor() {
            @Override
            public void apply(RequestTemplate requestTemplate) {
                Long userId = UserContext.getUser();
                //  为什么上面这行代码可以从UserContext里取用户信息,因为之前的服务中的信息是网关给的,这个时候请求头里是带了用户信息的
                if(userId != null)  {
                    requestTemplate.header("user-info", userId.toString());
                }
            }
        };
    }
}

标签:feign,UserContext,用户,gateway,传递,Bean,import,Logger,public
From: https://www.cnblogs.com/twinkler/p/18171257

相关文章

  • linux16-chown 修改文件,文件夹所属用户和用户组
    linux16-chown修改文件,文件夹所属用户和用户组changeowner需要root权限chown[-R][用户][:][用户组]文件或文件夹选项:-R,同chmod,表示对文件夹及其内部的所有内容应用同样规则[:]用于分割用户和用户组将hello.txt的所属用户修改为rootchownroothello.txt......
  • 探索操作系统:连接硬件与用户的桥梁
    在数字时代的今天,操作系统(OS)已经成为我们日常生活和工作中不可或缺的伙伴。它不仅是计算机硬件的灵魂,更是用户与数字世界沟通的桥梁。那么,操作系统究竟是什么?又是如何工作的呢?操作系统,简而言之,是管理计算机硬件资源、提供用户界面以及为应用程序提供服务的系统软件。它的角色相当......
  • PowerShell 开启 Windows 防火墙并设置阻止程序接收入站连接时向用户显示通知,可以执行
    PowerShell开启Windows防火墙并设置阻止程序接收入站连接时向用户显示通知,可以执行以下命令:powershellCopyCodeSet-NetFirewallProfile-ProfileDomain,Public,Private-DefaultInboundActionBlock-NotifyOnDefaultInboundAction$true这条命令将设置防火墙配置文件......
  • 查询指定用户的unique,primary索引名/键值
    --1.SQL用postgres账户查询PostgreSQL中指定DB以及schema下唯一索引的信息,按照表名:索引名:索引键值并按表名排序输出SELECTt.tablenameAStable_name,i.indexnameASindex_name,string_agg(a.attname,','ORDERBYa.attnum)ASindex_keysFROMpg_i......
  • 在身份认证后建立用户对象ICurrentUser
    app.UseAuthentication();这个中间件添加后,他会为HttpContext.User设置一个ClaimsPrincipal对象。里面有身份认证token里面携带的信息。其访问方式如下HttpContext.User.FindFirstValue("自定义字段")我们可以创建一个服务,方便在应用中使用用户信息。因为在服务中拿不到Htt......
  • Linux基础之用户和组
    目录用户的分类关于用户的操作添加用户useradd设置用户的属性usermod设置用户的密码passwd删除用户userdel用户权限控制sudo关于用户组的操作Linux是一个多用户多任务的分时操作系统,为了对文件和资源进行更好的权限管理,产生了用户和组。在Linux中,每个用户都有一个唯一的用户标识......
  • 手机运营商二要素比对接口:验证用户手机与身份信息一致性
     手机运营商二要素比对接口是一种验证用户手机与身份信息一致性的工具。在实名注册、风控审核等场景中,我们经常需要验证用户的手机号码与姓名是否一致,以确保用户身份的真实性。这个接口可以广泛应用于电商、游戏、直播、金融等需要用户实名认证的场景,并且还支持携号转网核验。......
  • 火车票订票系统的用户分类
    火车票订票系统的用户主要分为以下几类:(1)普通用户:这些用户是系统的最终使用者,他们可以通过注册和登录来访问系统。普通用户可以执行以下操作:1.注册和登录:用户可以注册账号并登录系统。2.购票:用户可以购买火车票,包括直达购票和换乘购票。3.改签和退票:用户可以改变出行时间或位置......
  • 微服务:gateway
    网关路由:1.创建新模块2.引入网关依赖<!--网关--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>......
  • 用户管理
    添加账号useradd[选项]用户名-ccomment指定一段注释性描述-d目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录-m用于创建用户的家目录。如果-d选项已经指定了家目录的路径,并且该目录不存在,则-m选项会告诉useradd创建该目录。如果-d选项没有指定(或......