Spring Boot 2.0:如何禁用特定端点的安全性

问题描述 投票:0回答:1

我需要完全绕过 Spring Boot 2.0 应用程序中某些端点的安全性(身份验证/授权)(例如“/version”和“/robots.txt”等端点),但保持所有其他端点的安全性。

让事情变得复杂的是,我正在从事的项目是一个更大项目的一部分。我公司的另一个小组提供了一个使用 Spring Security 的库。这只是相关的,因为这意味着我不能简单地重写 Spring 安全类来使这项工作正常进行——这些类已经被我无法控制的代码重写了。

有没有办法配置 Spring Boot 2.0 来绕过某些端点的身份验证?

在 sprint boot 1.5 中,我们可以在 application.yml 文件中指定这一点: 安全性.忽略:/版本 但在 Spring Boot 2.0 中这不再有效。

security spring-boot authentication
1个回答
8
投票

费德里科的答案是正确的。我将以下类添加到我的 Spring Boot 2.0 类中:

package com.example.demo;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    @Configuration
    public class DemoConfigurer extends WebSecurityConfigurerAdapter {
        @Override
        public void configure(HttpSecurity http) throws Exception{
            http.authorizeRequests().antMatchers("/version").permitAll();
            super.configure(http);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.