2015-05-14 115 views
0

嗨我對彈簧啓動和彈簧安全非常新。我有兩個運行在不同服務器上的其他Web服務彼此通信。我想確保使用http basic auth保證兩者之間的API調用是安全的。我在網上找到的大多數安全演示/例子都涉及到認證登錄頁面。有沒有辦法通過彈出認證登錄頁面來做到這一點。任何指針都非常感謝。謝謝。兩次彈簧啓動之間的彈簧安全啓動休息Web服務沒有登錄

+0

春季啓動使用http默認基本...所以,除非你重新配置的東西,應該已經默認.... –

+0

你好,謝謝你的回答。所以我終於可以實現彈簧安全功能,但即使用戶名和密碼錯誤,仍然允許通話。 – skhaapioloir

回答

0

如果我正確理解你的問題,一個應用程序想代表用戶與另一個應用程序進行交互。

您需要第一個應用程序向第二個應用程序發送身份驗證令牌。

如果您使用Spring-Security,請檢查CAS解決方案。這是一個SSO實現,它與Spring Security開箱即用。您可能會對代理機票工作流程感興趣。 你可以在Spring Security for CAS頁面找到更多相關信息。

我能想到的另一個解決方案是OAthHere you can find some more details

決定取決於您的架構。

0

這是我的代碼如下。它仍然允許請求要經過即使輸入的用戶名和密碼都是錯誤的

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; 
import org.springframework.security.config.annotation.web.builders.HttpSecurity; 
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; 
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 

@Configuration 
@EnableWebSecurity 
public class SecurityConfiguration extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.authorizeRequests().anyRequest().authenticated().and().httpBasic(); 
    } 

    @Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) 
     throws Exception { 
      auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); 
    } 
}