我开始练习该体系结构,但发现了这个“问题”。 当我致电微服务时,需要它们的用户名和密码。 对于zuul来说也是一样,需要过滤器标题来插入用户和密码。 我解决了他插入“硬编码”用户和密码的问题。 如何以更简洁的方式改进代码?
Git回购:https://github.com/alessandrolomanto/spring-cloud-microservices-with-security
答案 0 :(得分:0)
将任何类型的敏感信息外部化是一个好习惯。
如果我是你,我将使用环境变量。 answer解释了如何在Java中获取Env变量。
如果您正在云上运行(或计划运行),则可以查看提供商的存储参数的方式。例如,AWS使用Systems Manager Parameter Store
另一种选择是将.yml(或.properties)文件中的环境变量用作Spring supports it out of the box。然后,您可以在应用程序中通过@Value注入这些属性。我认为这是最干净的选择。由于您已经在使用Spring Cloud,因此可以查看Spring Cloud Config,这对您的用例来说更好。
其他选择是在运行时读取文件,在数据库中查找等等。