知識庫 / Spring / Spring Security RSS 訂閱

禁用指定 Profile 的安全功能

Spring Security
HongKong
5
01:00 PM · Dec 06 ,2025

1. 概述

在本教程中,我們將探討如何為特定環境(或配置文件)禁用 Spring Security

2. 配置

首先,我們定義一個僅允許所有請求的安全性配置。

我們可以通過註冊一個 WebSecurityCustomizer 類型的 Bean 並忽略所有路徑的請求來實現:

@Configuration
public class ApplicationNoSecurity {

    @Bean
    public WebSecurityCustomizer webSecurityCustomizer() {
        return (web) -> web.ignoring()
            .requestMatchers(new AntPathRequestMatcher("/**"));
    }
}

請記住,這不僅會關閉身份驗證,還會關閉諸如 XSS 之類的任何安全保護。

3. 指定配置文件

現在,我們希望僅針對特定配置文件激活此配置。

假設我們有一個單元測試套件,我們不需要啓用安全功能。如果此單元測試套件以名為 “test” 的配置文件運行,我們可以通過在配置中使用 @Profile 註解來完成:

@Configuration
@Profile("test")
public class ApplicationNoSecurity {

    @Bean
    public WebSecurityCustomizer webSecurityCustomizer() {
        return (web) -> web.ignoring()
            .requestMatchers(new AntPathRequestMatcher("/**"));
    }
}

因此,我們的測試環境會與實際環境不同,這可能不是我們想要的。 另一種方法是保持安全功能開啓,並使用 Spring Security 的測試支持。

4. 結論

在本教程中,我們演示瞭如何為特定配置文件禁用 Spring Security。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.