场景
只有授权的消费者才能访问路由规则,其余消费者无法请求
配置
1.创建消费者,本例基于key-auth模式。
创建key_auth,key为abc
创建key_auth2,key为abcd
2.创建服务
填写基本信息和目标节点
身份验证,开启key-auth插件,不用填写参数
安全访问,开启consumer-restriction插件,填写whitelist属性,其值为消费者名称数组,只允许这些消费者消费该服务。这里只填写第一个消费者key_auth,进行后续验证。
3.创建 路由,绑定服务
绑定服务,填写好匹配条件-路径,提交
设置上游服务,直接下一步
插件配置,直接下一步
预览,点击提交即可
验证
1.已授权消费者请求
在浏览器地址栏输入http://xxx:9080/test1/test?apikey=abc,回车正确展示数据。
验证分析:由于apikey=abc,对应找到的消费者是key_auth,而在上面的白名单参数里配置了key_auth,所以正确响应请求。
2.未授权消费者请求
在浏览器地址栏输入http://xxx:9080/test1/test?apikey=abcd,回车提示禁止访问。
验证分析:由于apikey=abcd,对应找到的消费者是key_auth2,而在上面的白名单参数里配置了key_auth,所以禁止响应请求。
PS:上面的请求是GET类型,POST类型的请求,也是通过在url后面加apikey参数传递消费者