宋子宪博客

Szx

Zuul网关使用过滤器验证客户端是否有登陆
@Component public class TokenFilter extends ZuulFilter {...
扫描右侧二维码阅读全文
14
2019/05

Zuul网关使用过滤器验证客户端是否有登陆

@Component
public class TokenFilter  extends ZuulFilter {

    public Object run() throws ZuulException {
        // 获取上下文
        RequestContext currentContext = RequestContext.getCurrentContext();
        HttpServletRequest request = currentContext.getRequest();
        String userToken = request.getParameter("userToken");
        //如果toKen等于空
        if (StringUtils.isEmpty(userToken)) {
            currentContext.setSendZuulResponse(false);
            //返回状态码
            currentContext.setResponseStatusCode(401);
            //返回错误信息
            currentContext.setResponseBody("userToken is null");
            return null;
        }
        // 否则正常执行业务逻辑.....
        return null;
    }

    // 判断过滤器是否生效
    public boolean shouldFilter() {

        return true;
    }

    // 过滤器的执行顺序。当请求在一个阶段的时候存在多个多个过滤器时,需要根据该方法的返回值依次执行
    public int filterOrder() {

        return 0;
    }

    // 过滤器类型 pre 表示在 请求之前进行拦截
    public String filterType() {

        return "pre";
    }

}
Last modification:May 14th, 2019 at 09:03 pm
如果觉得这篇技术文章对您有帮助,可以请博主喝一杯饮料

Comment here is closed