网关
网关运行分析报告
网关运行分析报告 - 2025-02-15
网关运行分析报告 - 2025-02-22
网关运行分析报告 - 2025-02-28
1.shenyu网关内外网使用
2.shenyu网关的具体使用
记一次网关线上问题之icsp访问ERP
再次思考多套ak/sk同时访问同一资源路径问题
网关接入说明
网关接入说明补充
网关分配各系统命名
网关BUG及二开
网关管理端访问地址
修改requestBody与responseBody
shenyu工程理解
获取requestBody异步问题
shenyu工程部署
排查sign插件报错500问题
shenyu数据结构设计
shenyu网关请求过程
shenyu自定义插件
记一次网关线上问题----网关无法对外提供服务
网关插件更新报错问题
网关中grayTag的使用
Exceeded limit on max bytes to buffer : 262144
网关中Divide插件中Selector中Handler中配置丢失问题
网关请求下游系统时长记录
通用测试:获取网关的sign值
网关分发主数据设想方案
铁骑主数据分发机制完善
27.GTMS&ITMS与gateway的关系
28.ZPI与gateway的关系
26.网关验签场景
29.PC端空值,服务端正常请求
30.网关requestMaxSize值
31.跨系统跨语言日志链路追踪
32.网关异步分发讨论
33.网关LoggingConsole丢失日志排查
34.网关升级shenyu-admin
35.网关异步分发插件 - 接入文档
本文档使用「觅思文档专业版」发布
-
+
首页
再次思考多套ak/sk同时访问同一资源路径问题
今天查看了《记一次网关线上问题之icsp访问ERP》这篇文章,站在Sign插件的选择器的角度很精准的剖析了权限验证问题,那么站在资源访问路径的角度来考虑,会不会出现什么问题呢?如下列举实际的场景来分析问题 ## 1.需求 icsp访问CCS的资源路径:/myx/integratecenter/\*\*。 oaext访问CCS的资源路径:/myx/integratecenter/\*\*。 由上可知,icsp与oaext系统都需要访问CCS的这个路径,那么我们需要分别给icsp与oaext各分配一套ak与sk。 ## 2.认证选择器配置 我们从这篇文章《记一次网关线上问题之icsp访问ERP》中得知,Sign插件的选择器配置的是目标系统,如下图  规则器配置如下图  ## 3.思考 由需求可知,icsp与oaext访问ccs时,都需要走同一个选择器与拦截器,如下图 | 访问者 | 被访问者 | 资源路径 | ak/sk | 选择器 | 规则器 | | --- | --- | --- | --- | --- | --- | | icsp | ccs | /myx/integratecenter/\*\* | 123/abc | DSystem=CCS | /myx/integratecenter/\*\* | | oaext | ccs | /myx/integratecenter/\*\* | 789/xyz | DSystem=CCS | /myx/integratecenter/\*\* | 总结如下表,得出如下表 | ak/sk | 规则器 | | --- | --- | | 123/abc | /myx/integratecenter/\*\* | | 789/xyz | /myx/integratecenter/\*\* | 即两套ak/sk对应同一个资源路径 即出现了《记一次网关线上问题之icsp访问ERP》这篇文章中的反向情况,还是贴出来 | ak/sk | 访问者 | 规则器 | | --- | --- | --- | | 567/mnt | icsp |/myx/integratecenter/\*\* | | 567/mnt | oaext |/myx/integratecenter/\*\* | 即一套ak/sk对应两套选择器与规则器。 思考:两套ak/sk对应同一个资源路径时,会不会出现问题呢?执行流程如下(猜测版本,没来得及看源码,做测试) 场景:icsp访问ccs时,流程如下(假设版本1) 3.1 执行到Sign插件的选择器,通过 3.2 执行到该选择器对应的规则器,这里需要细化下流程 3.2.1 根据规则资源器中的路径去Authentication中找ak与sk 3.2.2 很明显,会找到2套ak/sk,再与用户传进来的ak/sk进行匹配,验证通过 3.3.3 或者找到一个之后,不再继续找,拿找到的ak/sk与用户传进来的进行匹配,验证可能通过或者不通过(个人猜测,如果这种方式,原作者肯定不会只找一个就结束了) 3.3.4 总体结果是验证通过,执行下一个选择器 场景:icsp访问ccs时,流程如下(假设版本2) 3.1 执行到Sign插件的选择器,通过 3.2 执行到该选择器对应的规则器,这里需要细化下流程 3.2.1 根据用户传进来的ak/sk去Authentication找资源路径列表 3.2.2 再用规则器中的资源路径与3.2.1中的资源列表匹配,验证通过 3.3.3 总体结果是验证通过,执行下一个选择器 总结: 1.这种配置方式,理论上来说,是可以通过验签的 2.个人觉得原作者会采取假设版本2的方式进行设计验签 3.抽时间测试下、看下源码验证下如上的假设
李贤利
2022年10月22日 16:02
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期