禁用特定用户 Profile 的安全功能

Spring Security
Remote
1
05:57 AM · Nov 30 ,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.