在一个项目中部署弹簧引导和弹簧安全

问题描述:

我已经给了一个弹簧引导JWT认证服务,并被要求使用它来保护我目前正在构建的Restful web服务。继spring.io教程后,我收集了一些可以在一个项目中构建多个spring启动应用程序的教程。具体来说,两个模块安全性其余每个都有一个Application.java类来启动应用程序。什么我不清楚是在一个项目中部署弹簧引导和弹簧安全

  1. 我可以假设,如果两个应用程序在同一服务器中启动,调用其余控制器将自动被安全应用程序拦截检查认证/授权。如果是这种情况,那么我认为不需要对安全性进行进一步的代码修改或休息?
  2. 我假设上面第1点中的每个应用程序可以在部署到服务器时单独启动,而在IDE中,两者都将同时启动?

  3. 如果我要在两*立的服务器上运行,其余的api调用是否需要转移到安全体系结构上,那么将赞赏任何示例?

+0

我想你混了一些东西了。如果您有两个应用程序,则它们是分开的,无论它们是如何部署的。另外,通常您没有模块“安全性”,因为安全性将是您的应用程序的配置,而不是单独的模块。 – dunni

+0

@dunni,在春天的io链接中,指向他们的github项目,他们有自己的pom文件夹和另一个安全的自己的pom文件夹,所以它告诉我它是2个独立的模块。 –

+0

这些是2个完全独立的微服务。一个是提供安全性的东西(在你的情况下是给定的JWT授权服务),另一个是使用它来认证用户(其余模块,或在你的情况下是宁静的Web服务)。但我会尽力为你的观点提供一个答案。 – dunni

  1. 号如果有两个完全独立的应用程序,一个应用程序的请求不会被从第二应用的任何代码截获。如果您希望在REST服务中拥有安全配置,则必须为此进行配置。 Spring Security提供了必要的机制。安全应用程序在那里保存用于验证的数据,例如存储用户名和密码,并提供检查两者的机制。但是,如果您想要保护其他应用程序的端点,则必须适当地配置这些应用程序。

  2. 不一定。如果要在IDE中运行这两个应用程序,则必须启动这两个应用程序。

  3. 这真的取决于您使用的是什么安全机制。如果你使用例如OAuth,对服务的请求或者需要已经有令牌,然后通过安全服务进行验证,或者(如果具有GUI的Web应用程序)将被重定向到安全服务进行登录,然后重定向回到Web应用程序与令牌,然后可以进一步使用。