springboot过滤器的使用

@Slf4j
@WebFilter(urlPatterns = { "/sso/logout", "/sso/check"})
@Component
@ConditionalOnProperty(value = "sso.interceptor.type", havingValue = "gt")
@RefreshScope
public class GtSsoFilter extends AbstractSsoFilter {
	...do something
}

1、@WebFilter(urlPatterns = { “/sso/logout”, “/sso/check”})

这个@WebFilter注解定义了一个过滤器,并指定了该过滤器应该应用于哪些URL模式

2、@ConditionalOnProperty(value = “sso.interceptor.type”, havingValue = “gt”)

在Spring框架中,
@ConditionalOnProperty
注解用于基于特定的属性值条件来决定是否创建一个配置类或Bean。您提供的代码片段
@ConditionalOnProperty(value = “sso.interceptor.type”, havingValue = “gt”)
表示:
简而言之,这个条件注解确保了只有当应用配置中
sso.interceptor.type:gt
时,相关的配置或Bean才会被加载和初始化。这在实现不同环境或模块间切换逻辑、启用或禁用特定功能时非常有用,通过简单的配置变更就能控制应用程序的行为。

3、在Spring Cloud Gateway中,WebFilter通常会在GlobalFilter之前执行,因为WebFilter更多地涉及到底层的网络通信和协议转换。 对于GlobalFilter,它们的执行顺序可以通过设置order值来控制。如果两个GlobalFilter都没有设置order值,那么它们的执行顺序可能会基于它们在Spring容器中的注册顺序来确定,但这并不是推荐的做法。 在实际使用中,建议总是显式地设置GlobalFilter的执行顺序,以确保其按照预期的方式工作

IpWebFilter implements WebFilter 
AuthGatewayFilter implements Ordered, GlobalFilter

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值