1. 程式人生 > >告訴你一個dubbo token使用祕技

告訴你一個dubbo token使用祕技

最近在做公司一個網際網路收銀機專案裡面,需要呼叫一些遠端服務介面,綜合性能、安全和便捷考慮,決定使用rpc方式呼叫。rpc框架,採用dubbo。


我們知道,一般使用dubbo rpc都是在內網環境部署,然後採用zookeeper作為配置伺服器進行叢集。基於這次作為外網使用,不想過多地暴露內網服務,也沒必要去維護一個遠端的zookeeper連線,所以我決定採取消費端直連服務端模式。


因為把所有服務都對外暴露了,必須要考慮一個安全認證的問題,否則哪天某個離職的程式在家也能隨意訪問。


查閱dubbo官方文件,它本身確實有token認證功能,但是官方介紹不詳細,貌似是用來結合註冊中心使用。


經過翻閱原始碼,很驚喜,發現是可以在直連模式下使用。但是如果你想通過配置檔案,給referrence配置一個token是不行的,因為它的的schema裡面並沒有這樣定義。那我們怎麼把token傳給服務端呢? 採用隱式傳參:RpcContext.getContext().setAttachment("token","123456"); 當然,服務端,也許要給暴露的service暴露的配置響應的token。


很奇怪為什麼官方沒有做這個說明?