告诉你一个dubbo token使用秘技
来源:互联网 发布:德惠农业科技网络书屋 编辑:程序博客网 时间:2024/06/05 21:11
最近在做公司一个互联网收银机项目里面,需要调用一些远程服务接口,综合性能、安全和便捷考虑,决定使用rpc方式调用。rpc框架,采用dubbo。
我们知道,一般使用dubbo rpc都是在内网环境部署,然后采用zookeeper作为配置服务器进行集群。基于这次作为外网使用,不想过多地暴露内网服务,也没必要去维护一个远程的zookeeper连接,所以我决定采取消费端直连服务端模式。
因为把所有服务都对外暴露了,必须要考虑一个安全认证的问题,否则哪天某个离职的程序在家也能随意访问。
查阅dubbo官方文档,它本身确实有token认证功能,但是官方介绍不详细,貌似是用来结合注册中心使用。
经过翻阅源码,很惊喜,发现是可以在直连模式下使用。但是如果你想通过配置文件,给referrence配置一个token是不行的,因为它的的schema里面并没有这样定义。那我们怎么把token传给服务端呢? 采用隐式传参:RpcContext.getContext().setAttachment("token","123456"); 当然,服务端,也许要给暴露的service暴露的配置响应的token。
很奇怪为什么官方没有做这个说明?
我们知道,一般使用dubbo rpc都是在内网环境部署,然后采用zookeeper作为配置服务器进行集群。基于这次作为外网使用,不想过多地暴露内网服务,也没必要去维护一个远程的zookeeper连接,所以我决定采取消费端直连服务端模式。
因为把所有服务都对外暴露了,必须要考虑一个安全认证的问题,否则哪天某个离职的程序在家也能随意访问。
查阅dubbo官方文档,它本身确实有token认证功能,但是官方介绍不详细,貌似是用来结合注册中心使用。
经过翻阅源码,很惊喜,发现是可以在直连模式下使用。但是如果你想通过配置文件,给referrence配置一个token是不行的,因为它的的schema里面并没有这样定义。那我们怎么把token传给服务端呢? 采用隐式传参:RpcContext.getContext().setAttachment("token","123456"); 当然,服务端,也许要给暴露的service暴露的配置响应的token。
很奇怪为什么官方没有做这个说明?
1 0
- 告诉你一个dubbo token使用秘技
- 告诉你一个好消息
- 一个小实例告诉你GO锁的使用.
- 告诉你一个真实加拿大
- 告诉你一个秘密
- 告诉你一个真实的韩国
- 告诉你一个真实的Google
- 告诉你一个真实的新加坡
- 谢国忠:不得不告诉你一个坏消息
- 告诉你另外一个真实的中国
- 告诉你一个真实的美国
- 告诉你一个真实的美国
- 告诉你一个真实的Google
- 告诉你一个真实的中国互联网
- 告诉你一个真实的北京
- [ZT]告诉你一个真实的农村
- 告诉你一个真实的北京
- 一个故事告诉你什么是分级基金
- Android面试知识(4)
- SQL基础
- inode与block面试题案例
- 导语
- 噗,一次尴尬的面试经历
- 告诉你一个dubbo token使用秘技
- STM32进不了主函数
- C++定义类和对象的两种方式--对比Java
- 第一个动态网页
- RxJava 详解-给android开发者
- M101P: MongoDB for Developers - Chapter 5: Aggregation Framework
- Spring 学习笔记(三)
- js使用in和hasOwnProperty获取对象属性的区别
- 最值与极值的理解