我需要在我的spring boot 2.0应用程序中完全绕过某些端点的安全性(身份验证/授权) - 端点如" / version"和" /robots.txt" - 但为所有其他端点保持安全。
使事情变得复杂,我在一个项目中工作,该项目是一个更大的项目的一部分。我的公司有另一个团队提供了一个利用弹簧安全的库。这只是相关的,因为这意味着我不能简单地覆盖一个Spring安全类来使其工作 - 这些类已经被我无法控制的代码覆盖。
有没有办法配置spring boot 2.0来绕过某些端点的身份验证?
在sprint boot 1.5中,我们可以在application.yml文件中指定: security.ignored:/ version 但是在春季启动2.0中,这不再有效。
答案 0 :(得分:2)
费德里科的回答是正确的。我将以下类添加到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);
}
}
}