Sentinel 授权规则 (AuthorityRule)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

Springboot+Dubbo+Nacos 集成 Sentinel(入门)-CSDN博客

1.授权规则介绍

授权规则,即黑白名单规则(AuthorityRule)。很多时候,我们需要根据调用方来限制资源是否通过,这时候可以使用 Sentinel 的访问控制(黑白名单)的功能。黑白名单根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。

 流量控制规则 (AuthorityRule)主要属性如下:

Field说明默认值
resource资源名,即限流规则的作用对象
limitApp对应的黑名单/白名单,不同 origin 用 , 分隔,如 appA,appB
strategy限制模式,AUTHORITY_WHITE 为白名单模式,AUTHORITY_BLACK 为黑名单模式默认为白名单模式

2.资源名称

资源名,即限流规则的作用对象(可以是代码中指定名称或者指定路由)。

3.流控应用

对应的黑名单/白名单,不同 origin 用 , 分隔,如 appA,appB。

4.授权类型

限制模式,AUTHORITY_WHITE 为白名单模式,AUTHORITY_BLACK 为黑名单模式。

5.客户端添加来源解析器 

不会以为完成上面配置就OK了吧?

NO NO NO! 还要在客户端添加来源解析器哈。

@Component
public class MyRequestOriginParser implements RequestOriginParser {

    @Override
    public String parseOrigin(HttpServletRequest request) {
        String origin = request.getHeader("origin");
        return StringUtils.isEmpty(origin) ? "xxxx" : origin;
    }

}

特别注意:origin获取为空时要么直接报错(强权没问题),或者给默认值如上"xxxx"。否则授权失效【1.8.1版本亲测】。
 


6.规则持久化

Sentinel 规则持久化-CSDN博客

持久化Json数据格式

[
	{
		"resource": "u-getUserInfo",
		"limitApp": "order",
		"strategy": 0
	}
]
spring:
  application:
    name: user
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        prefix: dubbo-user-api
        file-extension: yml
    sentinel:
      transport:
        dashboard: 127.0.0.1:6780
      eager: true # 取消懒加载
      datasource:
        ds-user-authority-rule:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: user-authority-rule
            groupId: user-sentinel
            namespace: sentinel
            rule-type: AUTHORITY # AUTHORITY(授权规则) DEGRADE(熔断规则) FLOW(流控规则) GW_API_GROUP GW_FLOW PARAM_FLOW(热点规则) SYSTEM(系统规则)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/179555.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的文本分类

通过构建更复杂的深度学习模型可以提高分类的准确性,即分别基于TextCNN、TextRNN和TextRCNN三种算法实现中文文本分类。 项目地址:zz-zik/NLP-Application-and-Practice: 本项目将《自然语言处理与应用实战》原书中代码进行了实现,并在此基础…

Connect-The-Dots_2

Connect-The-Dots_2 一、主机发现和端口扫描 主机发现,靶机地址192.168.80.148 arp-scan -l端口扫描 nmap -A -p- -sV 192.168.80.148开放端口 21/tcp open ftp vsftpd 2.0.8 or later 80/tcp open http Apache httpd 2.4.38 ((Debian)) 111/tcp …

前缀和——DP34 【模板】前缀和

文章目录 🍋1. 题目🍈2. 算法原理🍈3. 代码实现 🍋1. 题目 题目链接:【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 描述 给定一个长度为n的数组a1,a2,…an. 接下来有q次查询, 每次查询有两个参数l, r. 对于每个询…

基于ZLMediaKit的GB28181视频平台demo

GB28181 主要内容 国标的20位id是按照标准来定的,前8位是地域信息,9-10位是行业信息,11-13是设备类型、14是网络标识、后6位为序号 约定以SIP协议作为会话通道的使用标准,以RTP作为语言和视频的载体。联网系统在进行音视频传输及…

ui设计师简历自我评价的范文(合集)

ui设计师简历自我评价的范文篇一 本人毕业于艺术设计专业,具有较高的艺术素养,平时注重设计理论知识的积累,并将理论应用到作品中。了解当下设计的流行趋势,设计注重细节、重视用户体验,对色彩搭配有着浓厚的兴趣&…

简墨的进化之路:打造大模型数据计算系统的云存储底座

10月24日程序员节,「大模型数据计算系统」2023拓数派年度技术论坛在上海圆满落幕,拓数派大模型数据计算系统(PieDataComputingSystem,缩写:πDataCS)如约而至!πDataCS 以云原生技术重构数据存储…

私有化敏感词检测API服务wordscheck

之前有网友在找敏感词检测的应用,这个应该能满足他的需求; 什么是 wordscheck ? wordscheck 是敏感词检测 API,提供文本识别、智能鉴黄、涉政检测、谩骂等等敏感词检测过滤服务。 简介 敏感词库从大量样本库整理出来,…

Java 编码

编码: 加密: 通过加密算法和密钥进行 也可通过码表进行加密 对称加密: 缺点:可被截获 元数据---加密算法密钥密文 ----> 解密算法密钥元数据 算法:DES(短 56位),AES(长 128位)破解时间加长 非对称加密: 元数据-加密算法加密密钥 密文 --->加密算法解密密钥元数据 …

1.Qt5.15及其以上的下载

Qt5.15及其以上的下载 简介: ​ Qt是一个跨平台的C库,允许开发人员创建在不同操作系统(如Windows、macOS、Linux/Unix)和设备上具有本地外观和感觉的应用程序。Qt提供了一套工具和库,用于构建图形用户界面&#xff0…

CNVD-2023-12632:泛微E-cology9 browserjsp SQL注入漏洞复现 [附POC]

文章目录 泛微E-cology9 browserjsp SQL注入漏洞(CNVD-2023-12632)漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 泛微E-cology9 browserjsp SQL注入漏洞(CNVD-2023-12632)漏洞复现 [附POC] 0x…

JavaEE 多线程01

为什么引入多线程? 首先进程已经能很好的完成多任务这个情景下的并发编程了,那为什么又引入多线程呢? 这是因为在一些情景下,我么需要大量的创建和销毁进程来完成一些任务,此时多进程对系统的开销就会很大了. 假设有这样一个场景,服务器同时接收到很多个服务请求,这个时候服务…

数据挖掘 K近邻

什么时候用K近邻? 交叉验证的时候。最常见的交叉验证方法是K折交叉验证,其中数据集被均匀分成K个子集,称为折,然后执行K次训练和测试,每次选择不同的折作为测试集,其余的作为训练集。最后,将K次…

windows11快速输入时间和日期

windows11快速输入时间和日期 〇、赶时间的看这里 任务栏微软输入法图标右键 | 设置 | 词库和自学习 | 用户自定义短语 |添加或编辑自定义短语| 添加日期设置 %yyyy%-%MM%-%dd%时间设置 %yyyy%-%MM%-%dd% %HH%:%mm%:%ss%-------------------------------------------------…

ROS1创建自定义服务并使用

1.首先在功能包创建一个srv文件夹 如上图所示,vehicle_control是我的功能包,创建一个srv文件夹 2.使用touch指令创建服务文件 touch Ranging.srv3.在文件内输入服务数据 横线代表分割符,上面的是客户端发送的数据,下面是服务器…

【开源】基于Vue.js的民宿预定管理系统

项目编号: S 058 ,文末获取源码。 \color{red}{项目编号:S058,文末获取源码。} 项目编号:S058,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…

NX二次开发UF_CAM_set_clear_plane_data 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_set_clear_plane_data Defined in: uf_cam_planes.h int UF_CAM_set_clear_plane_data(tag_t object_tag, double origin [ 3 ] , double normal [ 3 ] ) overview 概述 De…

Altium Designer学习笔记9

忽视了一个最大的问题,就是元器件的封装,不应该是根据AD系统的封装走,而应该是根据立创商城上的规格书,确认每个封装的大小,画出封装图,然后才是布局和走线。 1、确认电容的封装采用0805,贴片电…

360:流氓or保家卫国的勇士?

你曾用过360吗,这个在国内名声不好的杀毒软件,却是令国外黑客闻风丧胆的存在。 首先,在电脑病毒刚兴起的年代,杀毒软件是要收费的,当时盛行的瑞星和金山就是采用的付费模式,而就在2006年,奇虎…

C++三大特性——继承

目录 一.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符​编辑 1.2.3继承基类成员访问方式的变化 二.基类和派生类对象赋值转换 三.继承中的作用域 四.派生类的默认成员函数 五.继承与友元 六.继承与静态成员 一.继承的概念及…

计算机网络之数据链路层

一、概述 1.1概述 物理层发出去的信号需要通过数据链路层才知道是否到达目的地;才知道比特流的分界线 链路(Link):从一个结点到相邻结点的一段物理线路,中间没有任何其他交换结点数据链路(Data Link):把实现通信协议的硬件和软件…