如何在我们使用springboot的Rest API应用程序中将域或IP地址列入白名单?

时间:2019-10-07 09:57:55

标签: java spring-boot whitelist

我正在实现REST API,我们使用springboot的StreamingResponseBody直接流式传输响应。我们正在通过JSON接收查询参数,并通过直接流式发送数据库响应。

我们想锁定对特定域或IP地址的URL的访问-我们如何实现呢?

1 个答案:

答案 0 :(得分:0)

如果您将Java配置用于Spring Boot Security,则必须使用

  

hasIpAddress()

在扩展WebSecurityConfigurerAdapter的SecurityConfig类中。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
           .antMatchers("/login").permitAll()
           .antMatchers("/api/example/**").hasIpAddress("1.1.1.1")
           .anyRequest().authenticated()
           .and()
           .formLogin().permitAll()
           .and()
           .csrf().disable();
    }

    // Rest of Code ...

 }