本文介紹了為Spring Boot 2.0仿真器框架配置安全性的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我想在我的Spring Boot 2.0應用程序中使用Spring Actuator框架。框架本身按照預期工作,因此我能夠到達例如我的/actuator/health
終結點。在那里,我呈現了一個登錄對話框。我想擺脫它,并嘗試了以下方法:
@Configuration
@EnableWebFluxSecurity
public class SecurityConfiguration {
@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
return http
.authorizeExchange()
.matchers(EndpointRequest.to("prometheus")).permitAll()
.matchers(EndpointRequest.toAnyEndpoint()).authenticated()
.anyExchange().permitAll()
.and()
.formLogin()
.and()
.httpBasic()
.and()
.build();
}
但是,在應用程序啟動期間,我收到以下錯誤:
未能實例化[org.springframework.security.web.server.SecurityWebFilterChain]:工廠方法‘securityWebFilterChain’引發異常;嵌套異常為java.lang.IlLegalArgumentException:身份驗證管理器不能為空
當然,我試圖搜索它,但我總是只能得到描述使用Spring Boot 1.x框架的不同場景或安全配置的頁面。有人能幫我一下嗎?
推薦答案
最簡單的方法應該是讓SecurityConfiguration
擴展WebSecurityConfigurerAdapter
并覆蓋configure(WebSecurity web)
,如下所示:
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/actuator/**");
}
// ...
}
另外,我不熟悉@EnableWebFluxSecurity
,但要使上面的內容正常工作,您需要同時使用@Configuration
和@EnableWebSecurity
注釋。
至于設置配置的方式,它實際上并不是最優的。為了補充上述建議,您應該使用HttpSecurity配置安全性,而不是使用當前的SecurityWebFilterChain
。
這篇關于為Spring Boot 2.0仿真器框架配置安全性的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,