【发布时间】:2017-10-31 07:03:06
【问题描述】:
我获得了 Spring Boot JWT 身份验证服务,并被要求使用它来保护我目前正在构建的 Restful Web 服务。在spring.io 教程之后,我收集到您可以在一个项目中构建多个 Spring Boot 应用程序。具体来说,security 和 rest 这两个模块各有一个 Application.java 类来启动应用程序。我不清楚的是
- 我可以假设如果两个应用程序在同一个服务器上启动,调用 rest 控制器 将被安全应用程序自动拦截以检查身份验证/授权。如果是这种情况,那么我假设不需要在安全性或其余部分进行进一步的代码修改?
我假设上面第 1 点中的每个应用程序在部署到服务器时都可以单独启动,而在 IDE 中,两者会同时启动?
如果我要在两个单独的服务器上运行,其余的 api 调用是否需要转移到安全性?架构是什么样的,任何示例都将不胜感激?
【问题讨论】:
-
我认为你把一些事情搞混了。如果您有 2 个应用程序,则无论它们如何部署,它们都是独立的。此外,通常您没有“安全”模块,因为安全将是您的应用程序的配置,而不是单独的模块。
-
@dunni,在指向他们的github项目的spring io链接中,他们有带有自己的pom的rest文件夹和另一个带有自己的pom的安全文件夹,所以它告诉我它是2个独立的模块。
-
这是 2 个完全独立的微服务。一种是提供安全性的东西(在您的情况下是给定的 JWT 身份验证服务),另一种是使用它来验证用户(其余模块,或者在您的情况下是 RESTful Web 服务)。但我会尽力回答你的观点。
-
所以这向我表明架构是微服务——这是前进的方向。是这样吗?
-
这取决于您的用例。微服务并不适合一切。您必须决定它是否适合您的需求。
标签: java spring spring-mvc spring-boot spring-security