Sentinel实现黑白名单控制详细教程来了

简介: Sentinel实现黑白名单控制详细教程来了

一:新建一个IpRequestOriginParser类,实现RequestOriginParser接口,配置如下



public class IpRequestOriginParser implements RequestOriginParser {
    /**
     * Parse the origin from given HTTP request.
     *
     * @param request HTTP request
     * @return parsed origin
     */
    @Override
    public String parseOrigin(HttpServletRequest request) {
        return request.getRemoteAddr();
    }
}

二:新建一个SentinelConfig类,配置如下

@Configuration
public class SentinelConfig {

    @PostConstruct
    public void init() {
        WebCallbackManager.setUrlBlockHandler(new DemoUrlBlockHandler());
        WebCallbackManager.setRequestOriginParser(new IpRequestOriginParser());
    }
}


三:新建一个DemoUrlBlockHandler类,实现UrlBlockHandler接口,配置如下

public class DemoUrlBlockHandler implements UrlBlockHandler {
@Override
public void blocked(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws IOException {
httpServletResponse.getWriter().println(“error url”);
}
}

四:访问一次/white接口,sentinel控制台就会出现地址了,是懒加载的

五:点击授权规则,新增授权规则,输入路径,点击白名单


六:在浏览器访问/white接口,可以看到有返回值

七:修改授权类型为黑名单,在次访问接口,可以看到报错

相关文章
|
2月前
|
监控 Java 数据安全/隐私保护
Sentinel黑白名单授权规则解读
Sentinel黑白名单授权规则解读
|
10月前
|
SpringCloudAlibaba 数据安全/隐私保护 Sentinel
SpringCloud Alibaba系列(三) Sentinel黑白名单限制
  很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。
220 0
|
前端开发 Java Nacos
【Sentinel】规则持久化教程
【Sentinel】规则持久化教程
270 0
【Sentinel】规则持久化教程
|
设计模式 自然语言处理 监控
【SpringCloud-Alibaba系列教程】8.一文学会使用sentinel
White带着大家以微服务架构和设计模式落地实战的方式,进行讲解和实现SpingCloud的代码开发,本节将介绍Sentinel规则使用
435 1
【SpringCloud-Alibaba系列教程】8.一文学会使用sentinel
|
API Sentinel 微服务
【SpringCloud-Alibaba系列教程】11.gateway与sentinel组合
在之前,我们教程已经写了一部分关于sentinel限流的方式,主要是针对于某个微服务本身进行限流,后来我们引入网关的概念,现在我们结合gateway与sentinel进行限流,主要是从一下两个纬度,第一个就是路由维度,另一种就是分组维度,下面我们根据不同维度进行实战。
885 0
【SpringCloud-Alibaba系列教程】11.gateway与sentinel组合
|
设计模式 Sentinel 微服务
【SpringCloud-Alibaba系列教程】9.Fegin整合sentinel
接下来的章节,White带着大家以微服务架构和设计模式落地实战的方式,进行讲解和实现SpingCloud的代码开发。本章节主要使用sentinel更加优雅,与Fegin结合。
401 0
【SpringCloud-Alibaba系列教程】9.Fegin整合sentinel
|
监控 NoSQL Redis
Redis一主二从Sentinel监控配置(保姆级教程)
Redis一主二从Sentinel监控配置(保姆级教程)
121 0
Redis一主二从Sentinel监控配置(保姆级教程)
|
16天前
|
监控 Java Sentinel
使用Sentinel进行服务调用的熔断和限流管理(SpringCloud2023实战)
Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
37 3
|
18天前
|
Java 开发者 Sentinel
Spring Cloud系列——使用Sentinel进行微服务保护
Spring Cloud系列——使用Sentinel进行微服务保护
30 5
|
17天前
|
监控 Java 应用服务中间件
替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门
替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门