- Spring 2.0.3.RELEASE*
目标:在除/actuator/health
、/actuator/info
和/ping
(仅返回ResponseEntity.status(HttpStatus.NO_CONTENT).build()
的自定义控制器)之外的所有端点上实施Sping Boot Security(入门级基本身份验证)。
下面给了我一个401
。任何组合似乎要么让我完全匿名访问所有端点,要么让我完全匿名访问所有端点。
我已经在application.yml
中设置了spring.security.user.name
和...password
,它工作正常。
我已经实施了。。
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
super.configure(http);
// just trying to get health working for starters
http.authorizeRequests().antMatchers("/actuator/health").permitAll()
.anyRequest().authenticated()
.and().formLogin().permitAll();
}
}
下面的代码似乎仅限于Actuator的/health
和/info
端点,但也打开了我的自定义/ping
端点(不在此列表中)。
http.requestMatcher(EndpointRequest.to("health", "info"))
.authorizeRequests().anyRequest().permitAll();
1条答案
按热度按时间3bygqnnd1#
这个问题最终是Spring Tool Suite中的一个bug。在Gradle项目中使用
Boot Dashboard
并不总是能够获得构建输出。它似乎使用了不同的目录,我无法弄清楚。最终对我有效的HttpSecurity配置是: