Dubbo 源码剖析与实战
何辉
平安壹钱包架构师
4711 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
开篇词 (1讲)
Dubbo 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

10|服务认证:被异构系统侵入调用了,怎么办?

你好,我是何辉。今天我们探索 Dubbo 框架的第九道特色风味,服务认证。
通过集成 Java 语言编写的 Dubbo 框架来提供服务,你已经非常熟悉了,作为 Dubbo 多语言生态最火热的项目,用 Go 语言开发的 dubbo-go 框架,想必你也有所耳闻,然而,就是这样一款非常实用且轻量级的优秀框架,却引发了一些产线事件。
事情是这样的,公司最近要做一个关于提升效能的一体化网站,我们的后端服务全是 Dubbo 提供者,但是负责效能开发的同事只会使用 Go 或 Python 来编写代码,于是经过再三考虑,效能同事最后使用 dubbo-go 来过渡对接后端的 Dubbo 服务。就像这样:
然而,dubbo-go 服务上线后不久,某个时刻,支付系统的银行账号查询接口的 QPS 异常突增,引起了相关领导的关注。
一番排查后,我们发现银行账号查询接口的来源 IP 格式比较怪异,找网工帮忙分析了一下,怪异的 IP 是一个异构系统 dubbo-go 服务发出来的请求(至于一体化网站为什么需要查询该接口就是后话了)。
目前暴露了一个比较严重的问题,被异构系统访问的接口缺乏一种认证机制,尤其是安全性比较敏感的业务接口,随随便便就被异构系统通过非正常途径调通了,有不少安全隐患。因此很有必要添加一种服务与服务之间的认证机制。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了Dubbo框架中服务认证的重要性和实现方式。首先介绍了Dubbo框架及其多语言生态项目dubbo-go,并探讨了由异构系统调用引发的问题。具体讨论了在服务与服务之间添加认证机制的必要性,并提出了对数据进行真假鉴定和篡改鉴定两个规则的分析。文章详细介绍了在提供方和消费方分别实现认证过滤器的步骤,以及如何在代码中实现TOKEN认证的具体操作。通过代码实现的验证过程,展示了认证通过和异常流程的效果。总的来说,本文对服务认证的重要性和实现方式进行了深入探讨,对于Dubbo框架的使用者具有一定的参考价值。文章还提到了服务认证的应用场景有三类,系统内应用之间的调用、系统间不同应用的调用、系统内外不同系统的调用。同时,留下了思考题,鼓励读者深入研究Dubbo框架中的TokenFilter、ConsumerSignFilter、ProviderAuthFilter等支撑能力。文章内容涵盖了Dubbo框架中服务认证的重要性、实现方式以及应用场景,对于想深入了解Dubbo框架的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Dubbo 源码剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 廖新森
    老师你好,请问一下, parameters = { "qps.enable", "true", "qps.value", "3" })}) 如何通过注入的形式填充这些参数呢,qps.value可以从配置中心,或者文件中读取,填充值?

    作者回复: 你好,廖新森:如果想通过注入进来的话,那就可要下点功夫了。比如通过 @Value 来注入的话这个就得稍微在过滤器做下解析规则了,识别@Value之后从哪里读取,到底是从环境变量读取呢,还是从配置中心读取呢,还是从项目properties配置文件读取呢,这个方式完全自主控制,方式不限定~

    2023-03-03归属地:海南
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部