我想要做的事:椒在春季啓動應用程序的基本身份驗證和hawt.io
我試圖運行嵌入式椒樣本春天啓動應用程序,就可以配置基本身份驗證和連接從hawt.io到它,我是一個試點項目。
我的設置(一切都在本地主機上,沒有防火牆):在端口8080端口(默認)
- Spring應用程序
- Hawtio 5555
我使用的是最新的春季啓動可用於我的示例應用程序使用jolokia和hawt.io(免責聲明我是相當新的彈簧引導和彈簧安全)
Spring Boot版本:1.5.2 RELEASE 春季安全:4.2.2發佈 椒:1.3.5
測試1:沒有運行在所有的春季安全(我已經設置在application.properties
management.security.enabled=false
) - 一切正常,我能夠連接爲localhost:既沒有從我的瀏覽器和應用hawt.io任何用戶/密碼8080 /椒其中我在本地運行
測試2:註釋掉management.security.enabled=false
,並創建以下的配置文件,以堵塞彈簧安全:
@Configuration
@EnableWebSecurity
public class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("admin")
.password("admin")
.roles("ACTUATOR");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/error").permitAll()
.antMatchers("/jolokia/**").hasRole("ACTUATOR")
.and().httpBasic();
}
}
這一步後,我看到連接到本地主機時:從瀏覽器8080 /椒我看到一個基本的身份驗證彈出,我輸入admin/admin和看椒響應,所以我的結論是我的春天安全設置是OK
現在,它的時間來運行hawt.io:
java -jar hawtio-app-1.5.0.jar --port 5555
,現在當我打我進入本地主機的細節後hawt.io UI「連接」:8080 /椒連接(它不有任何用戶/密碼文本字段)它會將我引向hawt.io登錄屏幕。當我輸入管理員/管理員時,我看到一個「無法連接,禁止」UI消息。
我試着看到hawt.io發送到我的本地主機:8080(使用burp套件)的請求,並且我看到在看到hawt.io登錄屏幕之前,我看到很多401(未授權)響應當試圖在8080上查詢jolokia時(當然我是這麼做的,因爲它在進入管理員/管理員之前 - 所以沒有機會提前知道)。 當我進入hawtio的登錄界面後,進入admin/admin並點擊「登錄」 - 我根本沒有看到hawt.io到8080的任何請求。我只看到一個來自UI的hawt.io服務器的請求,它以403響應。所以我懷疑它的內部認證窗口是hawt.io本身,它與jolokia沒有任何關係。
所以我問的是 - 我在這個設置中缺少什麼,我應該如何配置hawt.io才能連接到我的設置?
感謝很多提前
謝謝,但它沒有幫助,我看到相同的行爲。我懷疑它與hawt.io的東西,而不是春天的應用程序。如果我從瀏覽器直接連接到http:// localhost:8080/jolokia,我會看到一個基本的身份驗證彈出窗口,當我輸入admin/admin時,我可以連接。 –