我们API的客户端不使用补丁,我想避免使用它来进行维护。我不想禁用POST或PUT。
最佳答案
可以通过扩展WebSecurityConfigurerAdapter(可在spring-security-config中使用)并重写configure(HttpSecurity http)
来拒绝对目标URL的PATCH请求,从而在安全级别上进行处理:
@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers(HttpMethod.PATCH, "/path_to_target_url").denyAll();
}
}
尝试将PATCH修补到目标URL都会失败,并显示
401 Unauthorized
错误。