前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网关过滤器保头

网关过滤器保头

作者头像
名字是乱打的
发布2022-05-13 10:33:35
1820
发布2022-05-13 10:33:35
举报
文章被收录于专栏:软件工程

如果我们只是使用zuul网关的话,通常情况我们只能提供简单的访问,而一些头信息会被丢失

这些头信息可能有一些安全性校验的的重要信息,比如token

那么我们如何来使头信息可以安全的到达我们具体的微服务模块呢?这就需要网关过滤器了*

具体介绍和功能可以微服务网关Zuul快速入门体验

这里我们仅讲述ZuulFtlter过滤器保头手段

配置ZuulFilter

代码语言:javascript
复制
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;

@Component
public class WebFilter extends ZuulFilter {


    @Override
    public String filterType() {
        return "pre";
    }

    @Override
    public int filterOrder() {
        return 0;
    }

    @Override
    public boolean shouldFilter() {
        return true;
    }

    @Override
    public Object run() throws ZuulException {
        //得到request上下文
        RequestContext context = RequestContext.getCurrentContext();
        //得到request域
        HttpServletRequest request = context.getRequest();
        //得到头
        String header = request.getHeader("Authorization");
        System.out.println(header);
        //判断是否有头
        if (header!=null&&!"".equals(header)){
            //把请求头信息进行转发
            context.addZuulRequestHeader("Authorization",header);
        }
        return null;
    }
}

这样就结束了

测试,在base服务Controller编码

代码语言:javascript
复制
    @Autowired
    private HttpServletRequest httpServletRequest;

    @RequestMapping(method = RequestMethod.GET)
    public Result findAll(){
        String header = httpServletRequest.getHeader("Authorization");
        System.out.println(header);
        return new Result(true, StatusCode.OK,"查询全部成功",labelService.findAll());
    }

情况说明

9012是网关端口,base是配置的网关拦截路径

9002是真正端口

当我们配置了过滤器做转发请求头后发现访问http://localhost:9012/base/label

在base服务端可以正确的接收到头信息了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档