SpringCloud Zuul过滤器实现登陆鉴权代码实例
作者:Catbir 时间:2022-06-21 21:47:51
1.新建一个filter‘包
2.新建一个类,实现ZuulFilter,重写里面的方法
3.在顶部类添加注解,@Component,让Spring扫描
/**
* 登陆过滤器
*/
@Component
public class LoginFilter extends ZuulFilter {
@Override
public String filterType() { //前置过滤器
return PRE_TYPE;
}
@Override
public int filterOrder() { //过滤器顺序,越小越先执行
return 3;
}
@Override
public boolean shouldFilter() { //过滤器是否生效
RequestContext requestContext = RequestContext.getCurrentContext();
HttpServletRequest request = requestContext.getRequest();
System.out.println(request.getRequestURI());
System.out.println(request.getRequestURL());
if ("/apizuul/order/api/v1/order/save".equalsIgnoreCase(request.getRequestURI())){ //拦截
return true;
}
return false;
}
/**
* 业务逻辑
* @return
* @throws ZuulException
*/
@Override
public Object run() throws ZuulException {
System.out.println("拦截...");
RequestContext requestContext = RequestContext.getCurrentContext();
HttpServletRequest request = requestContext.getRequest();
String token = request.getHeader("token");
if (StringUtils.isBlank(token)){
token = request.getParameter("token");
}
//登陆校验逻辑 jwt生成token
if (StringUtils.isBlank(token)){
requestContext.setSendZuulResponse(false); //不会往下执行
requestContext.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
}
return null;
}
来源:https://www.cnblogs.com/zhuomuniao/p/12452927.html
标签:Spring,Cloud,Zuul,过滤器
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Intellij Idea中批量导入第三方jar包的全过程
2022-01-29 03:14:26
![](https://img.aspxhome.com/file/2023/1/63661_0s.png)
java递归算法实例分析
2022-02-09 07:59:17
![](https://img.aspxhome.com/file/2023/0/68170_0s.png)
一文解决springboot打包成jar文件无法正常运行的问题
2021-11-03 14:54:28
![](https://img.aspxhome.com/file/2023/0/67120_0s.png)
Java汉字转拼音工具类完整代码实例
2021-07-09 21:32:18
SpringBoot集成kaptcha验证码
2023-06-26 03:56:17
![](https://img.aspxhome.com/file/2023/3/69703_0s.jpg)
MyBatis-Plus多表联查(动态查询)的项目实践
2023-11-19 21:43:17
![](https://img.aspxhome.com/file/2023/3/59663_0s.png)
浅谈java安全编码指南之死锁dead lock
2023-06-22 04:49:19
java.net.SocketException: Connection reset 解决方法
2023-06-17 01:28:43
![](https://img.aspxhome.com/file/2023/6/57416_0s.png)
Java中List常用操作比for循环更优雅的写法示例
2023-08-08 23:25:14
JAVA面试题之Forward与Redirect的区别详解
2023-11-25 02:27:15
![](https://img.aspxhome.com/file/2023/2/59912_0s.png)
java 请求跨域问题解决方法实例详解
2023-08-24 02:55:11
JAVA与SQL 中的null与NULL解析
2023-06-23 11:51:18
![](https://img.aspxhome.com/file/2023/0/72380_0s.png)
Spring Boot用户注册验证的实现全过程记录
2023-01-03 01:58:34
基于Java编写一个PDF与Word文件转换工具
2023-05-30 19:23:12
JAVA面试题 简谈你对synchronized关键字的理解
2022-09-17 17:06:05
Java实现分页查询功能
2023-03-03 14:30:19
![](https://img.aspxhome.com/file/2023/3/72403_0s.jpg)
Java设计模式编程之解释器模式的简单讲解
2022-01-24 16:03:32
![](https://img.aspxhome.com/file/2023/4/68544_0s.jpg)
Java Socket实现多人聊天系统
2023-08-08 04:44:35
![](https://img.aspxhome.com/file/2023/2/65322_0s.jpg)
Java中左移和右移问题图文详解
2023-02-14 15:44:05
![](https://img.aspxhome.com/file/2023/3/64113_0s.png)
基于FLink实现实时安全检测的示例代码
2022-05-06 11:03:11