/**
* Created on 2016年11月9日 by chenxiao
*/
package com.m2m.common.gateway.filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.protocol.ResponseContent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
/**
* @Title
* @Description
* @Copyright <p>Copyright (c) 2016</p>
* @Company <p> Co., Ltd.</p>
* @author chenxiao
* @version 1.0
* @修改记录
* @修改序号,修改日期,修改人,修改内容
*/
public class AccessFilterName extends ZuulFilter {
private static Logger log = LoggerFactory.getLogger(AccessFilterName.class);
@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
System.out.println(String.format("%s AccessUserNameFilter request to %s", request.getMethod(), request.getRequestURL().toString()));
String username = request.getParameter("username");// 获取请求的参数
if(null != username && username.toLowerCase().equals("james")) {// 如果请求的参数不为空,且值为chhliu时,则通过
ctx.setSendZuulResponse(true);// 对该请求进行路由
ctx.setResponseStatusCode(200);
ctx.set("isSuccess", true);// 设值,让下一个Filter看到上一个Filter的状态
return null;
}else{
ctx.setSendZuulResponse(false);// 过滤该请求,不对其进行路由
ctx.setResponseStatusCode(401);// 返回错误码
ctx.setResponseBody("{\"result\":\"username is not correct!\"}");// 返回错误内容
ctx.set("isSuccess", false);
return null;
}
}
@Override
public boolean shouldFilter() {
return true;//// 是否执行该过滤器,此处为true,说明需要过滤
}
@Override
public int filterOrder() {
return 0;// 优先级为0,数字越大,优先级越低
}
@Override
public String filterType() {
return "pre";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
springcloud zuul网关服务
共102个文件
properties:22个
class:17个
java:17个
需积分: 10 22 下载量 111 浏览量
2017-11-13
15:30:44
上传
评论
收藏 130KB ZIP 举报
温馨提示
springcloud zuul网关服务,可直接运行,实现了网关的过滤,以及多重认证功能
资源推荐
资源详情
资源评论
收起资源包目录
springcloud zuul网关服务 (102个子文件)
SwaggerConfig.class 3KB
SwaggerConfig.class 3KB
AccessFilterName.class 2KB
AccessFilterPwd.class 2KB
AccessFilterPost.class 2KB
GatewayApplication.class 1KB
UserController.class 1KB
HelloController.class 1KB
ConsumerApplication.class 1KB
HelloApplication.class 1021B
UserServiceImpl.class 888B
HelloServiceImpl.class 857B
DiscoveryApplication.class 808B
BaseDaoTest.class 700B
BaseDaoTest.class 700B
UserService.class 210B
HelloService.class 193B
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 1KB
Dockerfile 181B
AccessFilterName.java 2KB
SwaggerConfig.java 2KB
SwaggerConfig.java 2KB
AccessFilterPwd.java 2KB
AccessFilterPost.java 2KB
UserController.java 1KB
HelloController.java 1KB
GatewayApplication.java 1KB
ConsumerApplication.java 968B
HelloApplication.java 962B
UserServiceImpl.java 895B
HelloServiceImpl.java 884B
UserService.java 632B
HelloService.java 616B
BaseDaoTest.java 535B
BaseDaoTest.java 535B
DiscoveryApplication.java 415B
analysis-service.2017-10-02.log 466KB
MANIFEST.MF 428B
MANIFEST.MF 424B
MANIFEST.MF 423B
MANIFEST.MF 419B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.core.resources.prefs 191B
org.eclipse.core.resources.prefs 191B
org.eclipse.core.resources.prefs 191B
org.eclipse.core.resources.prefs 124B
org.eclipse.m2e.core.prefs 90B
org.eclipse.m2e.core.prefs 90B
org.eclipse.m2e.core.prefs 90B
org.eclipse.m2e.core.prefs 90B
org.eclipse.m2e.core.prefs 90B
org.eclipse.core.resources.prefs 57B
.project 571B
.project 567B
.project 567B
.project 565B
.project 390B
tsa-log-test.properties 934B
tsa-log-test.properties 934B
bootstrap.properties 798B
bootstrap.properties 798B
bootstrap.properties 797B
bootstrap.properties 797B
pom.properties 265B
pom.properties 262B
pom.properties 256B
pom.properties 250B
application.properties 235B
application.properties 235B
application.properties 162B
application.properties 162B
application.properties 162B
application.properties 162B
bootstrap.properties 35B
bootstrap.properties 35B
bootstrap.properties 35B
bootstrap.properties 35B
bootstrap.properties 33B
bootstrap.properties 33B
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 2KB
pom.xml 2KB
pom.xml 2KB
logback.xml 2KB
logback.xml 2KB
logback.xml 2KB
logback.xml 2KB
application.yml 551B
application.yml 551B
共 102 条
- 1
- 2
资源评论
「已注销」
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功