You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SecurityFilterChain以仅允许指定IP访问并保留原有功能

修改Spring Security配置以限制IP访问并保留原有认证规则

要实现仅允许负载均衡器IP和开发者IP访问,同时保留/actuator/**端点的HTTP Basic认证、其余页面无需认证的功能,可以通过在原有配置基础上添加IP白名单过滤规则来实现,具体修改如下:

修改后的完整配置代码

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    // 定义允许访问的IP列表:负载均衡器IP + 开发者IP
    private static final String[] ALLOWED_IPS = {
            "192.168.1.100", // 替换为你的负载均衡器IP
            "10.0.0.5"       // 替换为开发者IP,可添加多个
    };

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http
                .csrf(AbstractHttpConfigurer::disable)
                .cors(AbstractHttpConfigurer::disable)
                .authorizeHttpRequests(auth -> {
                    // 第一步:限制所有请求必须来自白名单IP
                    auth.anyRequest().hasAnyIpAddress(ALLOWED_IPS);
                    // 第二步:保留原有规则:/actuator/**需要认证,其余请求放行
                    auth.requestMatchers("/actuator/**").authenticated();
                    auth.anyRequest().permitAll();
                })
                .httpBasic(withDefaults())
                .build();
    }
}

关键修改说明

  • IP白名单定义:将允许访问的IP地址放入ALLOWED_IPS数组,支持添加多个IP(包括IPv4、IPv6格式,或IP段如192.168.1.0/24)。
  • 规则顺序:Spring Security的权限规则按配置顺序匹配,因此先添加IP限制规则,确保所有请求首先经过IP校验,只有白名单内的IP才能进入后续权限校验。
  • 原有功能保留:IP校验通过后,继续保留原有的/actuator/**需认证、其余页面放行的规则,完全兼容原有业务逻辑。

内容的提问来源于stack exchange,提问作者Ar_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:54:57