在Java Web中,我们用Spring拦截器来对请求进行限制访问。
在dubbo中呢,我们可以用白名单来实现对访问的限制。
可以利用白名单,让测试环境和正式共用一套zk。
Demo:
1.扩展filter,实现com.alibaba.dubbo.rpc.Filter接口:
image.png
只能通过setter方式来注入其他的bean,且不要标注注解!
dubbo自己会对这些bean进行注入,不需要再标注@Resource让Spring注入
2.配置文件参考:
在resources目录下添加纯文本文件META-INF/dubbo/com.alibaba.dubbo.rpc.Filter,内容如下:
xxxFilter=com.xxx.AuthorityFilter
修改dubbo的provider配置文件,在dubbo:provider中添加配置的filter,如下
image.png
filter="validation" 表示开启拦截。
3.resource目录:ipwhitelist.properties
ipwhitelist=192.168.1.19,192.168.1.158
启动流程:
启动会先读取dubbo的配置filter的值,对应METE-INF里面的配置的值,找到class进行过滤。
网友评论