首頁 > Java > java教程 > 為什麼我的具有多個 HTTP 配置的 Spring Security 配置不起作用?

為什麼我的具有多個 HTTP 配置的 Spring Security 配置不起作用?

Mary-Kate Olsen
發布: 2024-11-29 18:05:17
原創
750 人瀏覽過

Why Doesn't My Spring Security Configuration with Multiple HTTP Configurations Work?

Spring Security:多個HTTP 設定無法正常運作

人們可能會遇到一個情況,需要多個HTTP 配置來客製化登入頁面和安全URL訪問,如以下場景所示:

@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter {
    // Security configuration for admin/* routes
}

@Configuration
@Order(2)
public static class ConsumerSecurity extends WebSecurityConfigurerAdapter {
    // Security configuration for consumer/* routes
}
登入後複製

但是,這種方法可能會導致只有一個的差異配置已啟動。要解決這個問題,請參閱 Spring Security 參考指南:

@EnableWebSecurity
public class MultiHttpSecurityConfig {
    // Authentication configuration

    @Configuration
    @Order(1)
    public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
        // Security configuration for /api/* routes
    }

    @Configuration
    public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
        // Security configuration for all other routes
    }
}
登入後複製

重點:

  • 照常設定驗證。
  • 指定多個的處理順序使用@Order進行設定。
  • 使用antMatcher根據URL限制特定配置的範圍

在前面的範例中,出現問題的原因是第一個帶有/antMatcher 的配置(匹配所有URL)覆蓋了第二個配置,導致第二個配置的URL 不受保護。透過將第一個配置的範圍限制為僅 /admin/,第二個配置的 URL 可以獲得適當的安全機制。

以上是為什麼我的具有多個 HTTP 配置的 Spring Security 配置不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板