2017-05-30 144 views
0

我已經給了一個彈簧引導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

回答

0
  1. 號如果有兩個完全獨立的應用程序,一個應用程序的請求不會被從第二應用的任何代碼截獲。如果您希望在REST服務中擁有安全配置,則必須爲此進行配置。 Spring Security提供了必要的機制。安全應用程序在那裏保存用於驗證的數據,例如存儲用戶名和密碼,並提供檢查兩者的機制。但是,如果您想要保護其他應用程序的端點,則必須適當地配置這些應用程序。

  2. 不一定。如果要在IDE中運行這兩個應用程序,則必須啓動這兩個應用程序。

  3. 這真的取決於您使用的是什麼安全機制。如果你使用例如OAuth,對服務的請求或者需要已經有令牌,然後通過安全服務進行驗證,或者(如果具有GUI的Web應用程序)將被重定向到安全服務進行登錄,然後重定向回到Web應用程序與令牌,然後可以進一步使用。