Kong的插件: ACL
简述
这个插件使用控制谁可以访问,谁不能访问的。如果使用这个插件,就必须使用认证的插件了比如base-auth, key-auth等。拿base-auth举例:
我们在浏览器输入的用户和密码,在Kong内部会转化到group层。如果对应的group在白名单中,那么访问通过,如果在黑名单中则访问被禁止。
操作起来
环境准备
你应该有一个可以正常使用的service和route,如果没有的话可以参照https://blog.csdn.net/u014686399/article/details/100084613,我的试验也是基于这个的
启用Basic Authentication插件
具体的流程可以参照https://blog.csdn.net/u014686399/article/details/100112026。但是要创建两个consumer以及两个证书
启用ACL
/routes/1972af43-5cb0-4c84-b15e-b96a2da52893/plugins POST
{
"name":"acl",
"config":{
"whitelist": ["xjj_group"]
}
}
- 1972af43-5cb0-4c84-b15e-b96a2da52893 route的ID
- acl 插件的名字
- whitelist 这是白单,在这个单子里面的组是允许访问的,blacklist 就是黑名单。这两个不能同时出现
把consumer和group关联起来
为了做对比,我们关联一个就行
/consumers/d30fc6cd-a10c-4b38-b683-47fb64a29cca/acls POST
{
"group":"xjj_group"
}
- d30fc6cd-a10c-4b38-b683-47fb64a29cca 这是consumer 的ID
- xjj_group上面group的名字
测试
- 没有加group的用户进行访问
- 加入group的用户进行访问
先写到这里了,有问题进QQ群630300475
还没有评论,来说两句吧...