微服务访问控制如何实现?

来源:1-4 面试经历的讨论

superLiuLiuLiu

2021-07-15

老师您好!现在有一个问题:
功能:微服务间的访问控制功能
要求:提供一个配置界面,我们可以在上面配置各个微服务之间的访问权限,比如说我们可以配置微服务a可以访问微服务b下某个接口,这样微服务之间在调用之时会先校验符不符合规则,符合规则才放行,不符合规则直接抛异常。
现有方案:将访问控制规则存储在一个表中,然后项目启动的时候会将其加载到redis之中,各个微服务在调用时,被调用方会先去redis中取数据,然后遍历校验看是否符合规则。
问题:想问一下有什么实现方案吗?或者有已经实现好的框架可以借鉴一下实现思路。

写回答

1回答

张勤一

2021-07-19

同学你好:

    从我个人经验来看,这个问题似乎还不需要框架或者说开源的实现方案,用一张 MySQL 表记录就可以了;如果实在是没办法定义字段,那么,可以存储一个 JSON 规则,在代码中自行去解析这个规则即可。我估计的话,代码量应该不会超过 200 行。


1
1
superLiuLiuLiu
老师之前是不是回答过使用配置中心呀,感觉那个应该可行正准备研究研究
2021-07-19
共1条回复

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程