我们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错误。

10-07 16:02
查看更多