java - 两个资源微服务之间的预定通信

标签 java security spring-boot authorization microservices

场景是我有两个资源微服务(使用 Spring Security 进行保护),让我们假设 A 和 B。 A希望按照预定的方式从B收集数据,因为A会每小时调用B的端点来收集一些数据。 问题是,如果两个资源服务具有有效的访问 token 或者我们可以说用户已登录,则它们可以相互通信。 但是计划的作业必须独立于用户登录而持续运行。那么从 A 调用 B 的正确方法应该是什么呢?

a.要配置 super 默认用户来运行计划作业,并进行隐式身份验证?

注意:计划的作业独立于用户干预。

最佳答案

最好将所有服务保留在世界之外(网络级别隔离),但一项服务除外,该服务是您的客户端的单入口点,需要进行身份验证/已处理授权。因此,您只需要在该服务上实现安全相关的操作/验证,而不是让客户端的请求通过其他服务。

由于您将您的服务与外界隔离,并且在其余服务上没有实现安全性,因此您不需要 token 或验证来进行服务间通信。

关于java - 两个资源微服务之间的预定通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42899966/

相关文章:

java - 逐行以相反顺序读取文件,无需太多开销

java - thymeleaf (th :action) not working when rendering long html

php - 如果使用得当,htmlspecialchars 是否足以抵御所有 XSS?

security - RESTful 身份验证作为一种状态形式

spring - 使用 spring security 组合 x509 证书和表单登录

java - ConditionalOnMissingBean 按名称

spring-boot - 正确的SearchQuery的几个参数-Elasticsearch和Spring Boot

java - 如何将 JsonIgnoreProperties 与父类(super class)合并?

java - 如何使用 java 或 JSP 在 SQL 中的时间戳数据类型列中插入值

java - TreeMap 中的空指针异常