Spring Cloud zuul问题:在使用中遇到了一个关于用户信息传递的问题

系统环境:
web项目使用单点登录
通过zuul转发到请求到指定的服务端(zuul和服务端不做单点登录)

现在想要把当前登录的用户名传递到后端服务器,但是在zuul上通过过滤器设置

@Override
public Object run() {
    RequestContext ctx = RequestContext.getCurrentContext();
    HttpServletRequest request = ctx.getRequest();
    request.setAttribute("username", request.getRemoteUser());
    logger.info("登陆用户"+request.getRemoteUser());
    logger.info("send {} request to {}",request.getMethod(),request.getRequestURL().toString());
    return null;
}

在zuul的过滤器中能获取到,但是在服务端并不能获取

求教要通过什么办法把参数传递到zuul之后的服务器

1个回答

给你一个参考链接,正在测试这个这个方法可行性. https://segmentfault.com/a/1190000009044342

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring cloud zuul 使用
NULL 博文链接:https://huangyongxing310.iteye.com/blog/2381615
Spring Cloud集群中使用Zuul(十七)
在Eureka集群中使用Zuul在Spring Cloud中集群中使用Zuul网关,那么Zuul也是集群的一部分,所以它也应该是一个Eureka项目,如图所示,我们搭建一个最简单的集群,通过网关来分发浏览器发起的请求。依旧是从Spring Cloud服务管理框架Eureka简单示例(三)这篇博客底部拿到我们的源码,这三个项目对应我们架构图中底部的三个项目,可以启动三个项目的*App启动类,测试项目...
spring cloud zuul
Zuul的规则引擎允许通过任何JVM语言来编写规则和过滤器, 支持基于Java和Groovy的构建。(spring cloud zuul整合例子包能运行)
spring cloud 客户端和spring cloud zuul
spring cloud 客户端和spring cloud zuul ,和前面的两个是一个系列,先打开cloud service 的服务,然后打开 product ,在打开客户端,最后可以打开zuul 可以实现eurake的负载均衡,zuul的负载均衡。
Spring Cloud Zuul过滤器获取请求参数问题?
今天有个朋友咨询我一个问题,截图如下: 在忙完了自己的事情后,我也简单的看了下,然后写了一个Filter来实现这位朋友说的功能,其实就是想记录请求的参数信息,下面我把涉及到的请求都打印了一遍,当然日志格式你可以自定义。 输出日志的Filter public class DebugRequest extends ZuulFilter { @Override public Strin...
疯狂Spring Cloud连载(23)Spring Cloud集群使用Zuul
Spring Cloud集群整合Zuul
Spring Cloud之Zuul(六):Zuul的容错与回退
主题 Zuul的容错与回退 前言 在Spring Cloud中,Zuul默认已经整合了Hystrix。首先我们结合前面的项目做一个简单的实验。 内容 1.启动项目 (1)启动cloud-discovery-enreka,port=8001 (2)启动cloud-register-user,port=8002 (3)启动cloud-register-gateway-zuul,port...
Spring Cloud Zuul过滤器介绍及使用示例
目录 相关知识 Zuul过滤器 Zuul过滤器的使用方式 Zuul过滤器的类型 Zuul过滤器的调用顺序(过滤优先级) Zuul调用目标服务的时机 Zuul过滤器简单使用示例(以pre过滤器为例) Zuul过滤器之Error过滤器处理zuul调用服务出现的异常示例 相关知识...
Spring Cloud使用zuul实现反向代理和负载均衡
首先,这篇文章参考的是http://blog.didispace.com/springcloud5/这位大牛的博客。本人是通过这篇博客来学习zuul的,现在写的博客只是个人在学习时个人的一些感受和理解。 谈到spring cloud,就要提及到其核心组件:zuul组件,这个组件其实功能很多,比如反向代理,负载均衡还有权限控制等功能,这篇博客主要写的是zuul的反向代理和负载均衡。 首先是进行eur...
Spring Cloud Zuul(一)路由功能使用
Spring Cloud Zuul类似Facade的模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来调度和过滤,它主要的功能是路由和过滤功能。 一构建网关, 1 创建api-gateway的工程,pom.xml,引入spring-cloud-starter-zuul依赖 <dependencies> <dependency...
Spring Cloud使用Zuul构建网关
不使用网关会存在的问题? 客户端多次请求不同的微服务,增加了客户端的复杂性。 存在跨域问题。 认证复杂,每个服务都需要独立认证。 难以重构,随着项目的迭代,可能需要重写划分微服务。 某些微服务可能使用了防火墙/浏览器不友好的协议,直接访问有一定困难。 什么是微服务网关? 微服务网关介于客户端与服务器端之间,所有的外部请求都会讲过微服务网关。 使用微服务网关的优点: 客户端只需和网关交互,...
Spring Cloud Zuul(二)过滤功能使用
一 实现访问鉴权的功能 思想 通过实现zuul的过滤器,检查访问是否带有token参数,如果有就进行路由,如果没有,就拒绝访问,返回401的错误 1 继承ZuulFilter的抽象类并实现4个抽象函数,就可以完成上述功能。 public class AccessFilter extends ZuulFilter { @Override public Object run...
使用Spring Cloud Zuul实现动态路由
Zuul 是提供动态路由,监控,弹性,安全等的边缘服务。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。 Zuul 可以适当的对多个 Amazon Auto Scaling Groups 进行路由请求。 首先新建maven项目,加入如下依赖 org.springframework.cloud spring-cloud-netflix
关于Spring Cloud Zuul网管上传文件乱码问题
Spring Cloud Zuul现在对于上传文件有两种处理方式,一种是用spring mvc,另一种是zuulServlet。spring mvc对文件处理不是很好,会导致乱码问题,zuulServlet则不会。 那么怎么样让文件使用zuulServlet方式上传呢?现在普遍的解决方案是给url加上 /zuul的前缀,这确实是正确的,因...
遇到了问题关于axwebbrowser
我用axwebbrowser访问调用JS命令 ((mshtml.HTMLDocumentClass)axWebBrowser1.Document).parentWindow.execScript("submit3()", "JScript"); rn问题是被调用的网页是应用AJAX技术嵌套在主页面中的,所以无法访问到submit3()的JS代码。请求解决个。。谢谢
【Spring Cloud】Zuul 路由访问
本节大纲: - 简介 - 架构图 - 创建项目(接着上一章节) - 在Fcat实战项目中的应用 简介zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。 类似nginx,反向代理的功能,增加了一些配合其他组件的特性。 Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。 Zuul功能 认证 压
spring cloud zuul如何高可用
现在网上查到的说zuul高可用分为两种,其中一种如下图所示。图中zuul server集群我懂,只需要注册多个不同端口的zuul到eureka即可,但图中的zuul客户端是什么意思?因为最终暴露出去的端口只有一个。这个zuul客户端如何实现?还请大佬帮助我讲解讲解。rn[img=https://img-bbs.csdn.net/upload/201805/02/1525237013_242142.png][/img]
遇到了一个关于timestamp的问题。
在学习一个留言板系统,用的是孙鑫的JAVA+WEB+开发详解:XML+XSLT+SERVLET+JSP+深入剖析与实例应用中的例子,然后在运行时出现下面的错误:rnexception rnrnorg.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 99rnrn96: out.println("用户名:"+rs.getString(2));rn97: out.println(" ");rn98: rn99: System.out.println(rs.getTimestamp("gst_time"));rn100: Timestamp ts=rs.getTimestamp("gst_time");rn101: long lms=ts.getTime();rn102: Date date=new Date(lms);rnrnrnStacktrace:rn org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rnrnrnroot cause rnrnjavax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 timestamp 到 TIMESTAMP 的转换。rn org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)rn org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)rn org.apache.jsp.index_jsp._jspService(index_jsp.java:208)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rnrnrnroot cause rnrncom.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 timestamp 到 TIMESTAMP 的转换。rn com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)rn com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError(DataTypes.java:946)rn com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:1952)rn com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:175)rn com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:113)rn com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1982)rn com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1967)rn com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(SQLServerResultSet.java:2377)rn org.apache.jsp.index_jsp._jspService(index_jsp.java:181)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rnrn然后我看了一下,相关的语句是有rnResultSet rs=stmt.executeQuery("select * from guestbook order by gst_time desc");rn还有rnTimestamp ts=rs.getTimestamp("gst_time");rnlong lms=ts.getTime();rnDate date=new Date(lms);rnTime time=new Time(lms);rn相应的的数据库表是这么建立的rn[gst_id] [int] IDENTITY(1,1) NOT NULL primary key,rn[gst_user] [varchar](10) NOT NULL,rn[gst_title] [varchar](100) NOT NULL,rn[gst_content] [text] NULL,rn[gst_time] [timestamp] NOT NULL,rn[gst_ip] [varchar](15) NOT NULL,rn原书作者孙鑫使用的是mySql数据库,我使用的是sql2008的,难道是数据库不支持?rn这个问题改怎么处理呢?新人第一次发帖,请专家帮助啊
Spring Cloud的Zuul高可用的理解
之前做过一个项目,是将页面渲染都放在了zuul上,然后在zuul所在的微服务中用Feign去请求service层的数据。 这样一来,我其实没有用到Zuul的网关功能,所以我后来就Zuul给去掉了。。。 但是我部署的方式是分布式的,所以我打算想要把把它单独拿出来做负载均衡。 然后在四台服务器上各自放了一个Feign服务(之前叫Zuul服务的),本来应该有Zuul做负载均衡的,结果我的一个学长告...
spring cloud zuul网关的配置问题
参考https://blog.csdn.net/forezp/article/details/81041012 这里不对参考文章提到的内容再次复述,只针对自己遇到的问题及新的发现做解说 配置zuul文件 server: port: 8769 zuul: routes: api-serviceId-a: #api-serviceId-a是serviceId ...
遇到了一个问题,关于TDataSource和TTable
我一用以上说的两个控件就出问题,编译正常,运行就会出现提示rnProject **** raised exception class Exception with message 'Application is not licensed to use this feature'. Process stopped. Use Step or Run to continue.rnrn发生在TCustomForm的Create事件。rnrn谁有办法解决,请帮帮忙。
又遇到了一个关于DBGrid的问题
请各位大侠告诉我如何在另外一台电脑注册DBGrid控件的步骤,rn另外,由于我要读出DBGrid控件中的内容.rn当我用DBGrid控件的设置行列的函数将行设置到24行以后rn会出错,请多多指教.
遇到了一个问题关于weblogic
写了一个SessionBean,部署到了weblogic6.1上,直接在jsp页面上调用成功,但是用JavaBean调用,在用jsp上调用JavaBean,但是一运行就会提示下载,我打开以后发现源代码都对,但是为什么提示下载呢?谁知道呀
读取文件遇到了一个问题
记事本写的文本文件是以什么编码存的?rn我从文件中读取一个ushort 值到变量C中,rn然后 textBox1.Text=((char)C).ToString();rn显示的是乱码。rn但是rnushort C;rnC=(ushort)'李';rntextBox1.Text=((char)C).ToString();rn显示为“李”;rnrn还有:在C#中怎么一次读一个结构读取文件。rn如一个结构体 struct a rn rn public int x;rn public char[10] s;rn rn怎么样一次把文件中的数据读到这个结构体中?
现在遇到了一个关于数据库连接类的问题
在做数据库连接类的时候rn我把里面的方法做成静态的方法rn提供DAL层用,有一个问题就是如果把数据访问类中的方法做成静态的rn,如果同时出现几个访问,就会造成效率问题rn如果把连接类里面的方法做成非静态,用一个工厂类来实例化,rn但是这样又出现不必要的内存浪费,rn或者不用工厂rn直接在DAL层中实例化,但是这样又比较冗长,好纠结啊rn求高手指路,本菜鸟将感激不尽
遇到了一个奇怪的问题
今天我改了几处代码,在界面上屏蔽删除了一些东西,在模拟器上运行没问题,但是部署到真机上后,竟然是没改代码前的效果,那些删掉的屏蔽掉的东西竟然还在。这是怎么回事? 试了好几次都这样,把真机上的app删掉重装还是这样。
遇到了一个棘手的问题
[code=C#] while (collireader.Read())rn rnrn string collivluesql = "select " + collireader[0] + " from dip_data_cwbb where ehid=" + ehid;//通过EHID以及指标 来取得指标对应的值rn cmd.CommandText = collivluesql;rn rn rn rn rn datavalue = System.Convert.ToString(cmd.ExecuteScalar());rnrnrnrnrn Operasql = "insert into DOM_DATA_VALUE(COMPANYID,USENO,DATANO,DATAVALUE,DATATIME)values('" + companyid + "','" + System.Convert.ToString(n_useno) + "','" + collireader[0] + "','" + System.Convert.ToInt32(datavalue) + "',to_date('" + System.DateTime.Now + "','yyyy-mm-dd hh24:mi:ss'))";//插入数据rn rn rn cmd.CommandText = Operasql;rn cmd.ExecuteNonQuery();rn status = 1;rnrn [/code]rn用的是ORACLErn 第一个collireader[0] 会随着循环变化,而第2个 就不变。。。求教为啥rnrn
又遇到了一个问题
我设计了一个SSIS包,目的是从一个源数据表中把数据导入到目的表中,在SSIS包执行时,如果由于数据某个字段不规范而出现错误,那我该如何捕获这个错误呀?并且把这条数据以及它出错的信息存入到一个新表中?
遇到了一个问题,求助!
タイムアウトに達しました。プールから接続を取得する前にタイムアウト期間が過ぎました。プールされた接続がすべて使用中で、プール サイズの制限値に達した可能性があります。 rn上面这是什么问题啊?应该怎么解决?谢谢
遇到了一个诡异的问题。
明明头文件里定义了成员变量,rnrn编译死活说没定义。rnrn然后搜索也搜不到,什么情况。
【Spring Cloud】-Zuul服务网关
什么是服务网关 通常情况,服务内部的各个进程是独立的,如果外部服务需要访问内部的服务,就必须通过网关服务(gateway service)。 为什么使用服务网关 如果一个项目有N个微服务,客户端完成一个请求可以需要调用n个微服务,一个一个打交道吗?这样肯定是不现实的,那么就需要一个角色充当request请求的统一入口,充当这个角色的就是Zuul网关,一旦有了网关,所有请求都通过网关,再由...
Spring Cloud Zuul与网关中间件
内容来源:2017年5月6日,SpringCloud 中国社区创始人许进在“Spring Cloud中国社区技术沙龙-北京站”进行《Spring Cloud Zuul与网关中间件》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。阅读字数:1501 | 4分钟阅读嘉宾演讲视频回顾及PPT地址:t.cn/RnP2eZZ摘要SpringCloud ...
spring cloud zuul性能测试全记录
首先写了一个简单的controller@RestController public class HiController {     @Value("${server.port}")     String port;     @GetMapping("/hi")     public String home(@RequestParam String name) {         return "...
为什么需要Spring Cloud Zuul?
Zuul和Ribbon以及Eureka相结合,可以实现智能路由和负载均衡的功能,可以将流量按照某种策略分发到集群中的多个实例。 统一对外暴露接口,外界系统不需要知道微服务系统中各服务之间调用的复杂性,也保护了内部微服务的api接口。 可以统一做用户身份认证,权限验证,这样就不用在每个微服务中进行认证了。 可以统一实现监控、日志的输出。 客户端请求多个微服务时,可以只请求Zuul一次,在Zuul中...
Spring Cloud Zuul (服务网关)
1.zuul的作用 1.1服务的统一入口 Zuul的主要功能是路由和过滤器。是各种服务的统一入口,同时还会用来提供监控、授权、安全、调度等等。 如上图所示,在无网关的情况下,API接口直接暴露给服务调用方,当调用方增多,不同业务调用方各不相同,势必需要添加定制化访问权限、校验等逻辑。 加入网关后,所有的请求被API网关截获,可以先做权限认证,然后通过负载均衡(rib
Spring Cloud之Zuul研究与思考
前面两篇微服务讲的是netflix生态中的eureka(注册中心),hystrix(熔断器),也各自介绍了他们的作用,现在我们已经讲了微服务治理中的服务注册发现,服务熔断(防止服务不可用的级联扩散)也顺带提到了feign(对http请求的封装)。还有服务的负载均衡ribbon,微服务配置中心,以及本文马上要讲的zuul网关。很显然,在前面提到eureka时,说到eureka是将被调...
Spring Cloud(zuul)使用例子.zip
Spring Cloud(zuul)使用例子,通过代码学习Spring Cloud(zuul)使用。
Spring web.xml中遇到了一个诡异问题
属于新手,学校J2EE开发,在学到Spring时,书上的一个实例遇到了一点小诡异事件,求真相!rn开发工具elipse,jdk1.60,spring版本2.5.6,web.xml中的内容:rnrnrn 12.3rn rn index.htmlrn index.htmrn index.jsprn default.htmlrn default.htmrn default.jsprn rn rn rn dispatcherServletrn org.springframework.web.servlet.DispatcherServletrn rn contextConfigLocationrn [color=#FF0000]/WEB-INF/applicationContext.xml[/color] rn 1rn rn rn dispatcherServletrn *.dorn rn,rnindex.jsp中的内容rnrnrn rn JavaBean的注入rnrnrn执行JavaBean的注入rnrn,rn运行报错:rg.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]rn at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349),这里仅贴出了主要部分,问题也出现在这部分。rn网上找了好多资料,确认文件名没有写错,网上参考myelicpse中的解决办法!也属无奈之举!rn将web.xml中颜色部分内容改为rn[color=#0000FF]/WEB-INF/classes/applicationContext.xml[/color]rn然后将applicationContext.xml考入classes文件夹中,No problem!吓死俺了,求真相~~~不盛感激
Spring Cloud Zuul中路由配置细节
上篇文章我们介绍了API网关的基本构建方式以及请求过滤,小伙伴们对Zuul的作用应该已经有了一个基本的认识,但是对于路由的配置我们只是做了一个简单的介绍,本文我们就来看看路由配置的其他一些细节。 本文是Spring Cloud系列的第二十篇文章,了解前十九篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册...
xslt中遇到了一个问题
rn在这段xslt中目的是将从数据库中读到的数值转化为用逗号三位数分割的方式,也就是将1000 分割为1,000rn但是当数据库中值是null时,出现的结果是NaN,有没有能够解决方法 啊,各位大侠,请支招rn我看网上用的是 但是我不知道加的位置不对还是写错了,xmlt代码直接不能运行??rn小弟分值不多了,还请各位大侠谅解
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件