我想配置我的网络应用程序,拒绝所有没有正确"内容类型"的请求。例如:除了" application / json"之外的任何内容类型。应该被拒绝。
目前我通过自定义过滤器进行此操作,但我想知道如何通过" RequestHeaderRequestMatcher"在安全配置中直接?
允许'采用以下示例安全配置:
我应该如何添加新的请求匹配器以检查所有有效内容类型的请求?
答案 0 :(得分:0)
您可以查看此文档CORS,此答案可以帮助您https://stackoverflow.com/a/43559288/5429215
答案 1 :(得分:0)
可以使用RequestHeaderRequestMatcher来验证请求是否包含某个标头。此外,还可以进行更精确的测试以测试某个值。
在以下情况中,所有请求都必须包含Accept
- 标头,其值为application/json
。否则返回HTTP状态406
。
@Configuration
class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requestMatcher(new RequestHeaderRequestMatcher("Accept", "application/json"));
}
}