1. 概述
1.1 插件名称
- Sign插件
1.2 适用场景
- 支持请求头进行鉴权
- 支持请求体进行鉴权
1.3 插件功能
- 用来对请求进行签名认证
1.4 插件代码
-
核心模块:
shenyu-plugin-sign -
核心类:
org.apache.shenyu.plugin.sign.SignPlugin
1.5 添加自哪个shenyu版本
- ShenYu 2.4.0
2. 如何使用插件
2.1 插件使用流程图

2.2 导入pom
- 在网关的
pom.xml文件中添加sign的支持。
<!-- apache shenyu sign plugin start-->
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-sign</artifactId>
<version>${project.version}</version>
</dependency>
<!-- apache shenyu sign plugin end-->
2.3 启用插件
- 在
shenyu-admin基础配置 --> 插件管理 -->sign,设置为开启。
2.4 插件的鉴权配置(1.0.0)
2.4.1 AK/SK配置
2.4.1.1 说明
- 管理和控制经过
Apache ShenYu网关的请求的权限。 - 生成的
AK/SK,配合sign插件使用,实现基于URI级别的精准权限管控。
2.4.1.2 使用教程
第一步,我们可以直接在 基础配置 --> 认证管理 新增一条认证信息 。
第二步,配置这条认证信息 。
- 应用名称:这个账号关联的应用名称,可手动填写或下拉选择(数据来自元数据管理中配置的应用名称)。
- 手机号:仅作为信息记录,在shenyu中无实际使用逻辑 。
- APP参数:当请求的context path与应用名称相同时,向header中添加该值,键为
appParam。 - 用户ID:给该用户取一个名字,仅作为信息记录,在shenyu中无实际使用逻辑。
- 拓展信息:仅作为信息记录,在shenyu中无实际使用逻辑。
- 路径认证:开启后,该账号仅允许访问以下配置的资源路径。
- 资源路径:允许访问的资源路径,支持路径匹配,如
/order/**。
点击确认后,生成一条认证信息,该信息包含 AppKey 和 加密秘钥 ,即 Sign 插件中的 AK/SK 。
2.4.1.3 路径操作
对已创建的认证信息,可以在认证信息列表的末尾进行 路径操作 。
- 左侧为可配置的路径列表,右侧为允许该账号访问的路径列表 。
- 勾选资源路径,点击中间的
>或<将勾选的数据移动到对应列表中 。 - 左侧可配置路径列表可在账号信息行末尾点击
编辑,在弹框中的资源路径中进行添加 。
2.4.2 网关技术实现
- 采用
AK/SK鉴权技术方案。 - 采用鉴权插件,责任链的模式来完成。
- 当鉴权插件开启,并配置所有接口鉴权时候生效。