Spring Cloud Alibaba Sentinel(七)受权规则 黑白名单

1、受权规则 黑白名单

官方地址
很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。

调用方信息通过 ContextUtil.enter(resourceName, origin) 方法中的 origin 参数传入。
在这里插入图片描述

  • 白名单:白名单内可以访问

  • 黑名单:黑名单内不可以访问

  • 流程应用,指的值url后origin参数的值,可以是url后的参数,也可以是header中的参数

2、配置javar类,实现RequestOriginParser解析拦截

/**
 * 受权规则,黑白名单解析类
 */
@Component
public class MyRequestOriginParser implements RequestOriginParser {

    /**
     * 从给定的HTTP请求解析源代码。
     * @param request
     * @return
     */
    @Override
    public String parseOrigin(HttpServletRequest request) {
        // 判断header中是否有此参数
        String origin = request.getHeader("origin");

        // 判断请求参数中是否有此参数
        if(StringUtils.isBlank(origin)){
            origin = request.getParameter("origin");
        }

        if (StringUtils.isBlank(origin)) {
            // 或者自定义异常处理
            throw new IllegalArgumentException("请求参数不合法");
        }
        return origin;
    }
}

3、示例

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

!!!!SpringCloudAlibaba项目集成代码示例!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值