当前位置: 首页 > 知识库问答 >
问题:

Spring Boot安全性允许来自给定IP地址的请求

欧阳学真
2023-03-14

我们有以下安全配置代码,

@Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.cors().and().csrf().disable().authorizeRequests().antMatchers("/api/**").anyRequest()
                .authenticated().and().exceptionHandling().accessDeniedPage("/").and()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    }

     GET /api/users
        POST /api/users
        GET /api/users/{userId}

我们需要在Spring Boot应用程序中限制以下请求(不是所有请求),并且只允许在属性中给定的ipaddress(多个ipaddress)上进行这些请求。

共有1个答案

柯星辰
2023-03-14

尝试使用以下配置:

@Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.cors().and().csrf().disable().authorizeRequests()
                .antMatchers("/api/users/**").hasIpAddress("127.0.0.1")
                .and()
                .authorizeRequests()
                .anyRequest()
                .authenticated().and().exceptionHandling().accessDeniedPage("/").and()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    }
 类似资料:
  • 问题内容: 如何从起始IP地址和结束IP地址生成一系列IP地址? 网络“ 192.168.0.0/24”的示例: 我希望有: PS:网络,起始和结束IP可以是动态的,上面仅是一个示例。 谢谢… 问题答案: 认识到IPv4地址的4个组成部分实际上都是00到FF之间的十六进制数字。 如果将起始IP地址和结束IP地址更改为32位无符号整数,则可以从最低的一个循环到最高的一个,然后将循环通过的每个值转换回

  • 我有两个AWS实例,< code>i-1和< code>i-2。它们分别位于不同的安全组中:< code>sg-1和< code>sg-2。两款机器都有弹性IP。 < code>sg-2被配置为允许来自< code>sg-1的所有流量,而不考虑端口、源IP或协议。 当试图与的流量实际上来自其弹性IP这一事实。 这是意料之中的吗?除了手动将< code>i-1的弹性IP添加到< code>sg-2之

  • 我有多种服务。他们都使用jwt进行授权。但是,当我的服务相互通信时,我不希望它们进行身份验证。当客户端向serviceA发送请求,serviceA需要serviceB提供数据时,serviceA验证令牌就足够了(当客户端向serviceB发送请求时也是如此)。我使用eureka作为注册表,使用openfeign在服务之间进行通信。现在我总是收到这样的401回复: 更具体地说,我的authservi

  • 我最近开始使用firebase存储数据,并将我的规则临时设置为public。我不想添加用户身份验证,而是想知道是否可以设置firebase规则,以便只有我的域可以读写数据。

  • 在Firebase控制台中,我特别将其设置为只允许“每个电子邮件地址一个帐户”。这可以在“高级”下的“登录方法”选项卡上找到。 我有一个使用谷歌登录方法创建的帐户,它有一个类似“me@gmail.com”的地址。如果我选择通过Facebook使用一个也使用“me@gmail.com”的帐户登录,Firebase允许它,但用户实体中的电子邮件地址为空除外。 Firebase文档指出: 如果不允许使用