我一直在尝试为不同的api端点配置多个安全配置,直到我有了这个配置:
http
.antMatcher("/user/**")
.authorizeRequests()
.antMatchers("/user/document/**").permitAll()
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.httpBasic();
这个配置是工作的,但我也感到困惑,当我试图删除第二个authorizeRequests()
(见下)。配置也是工作的。
http
.antMatcher("/user/**")
.authorizeRequests()
.antMatchers("/user/document/**").permitAll()
.anyRequest().authenticated()
.and()
.httpBasic();
这个方法有什么作用?我每次都要调用它吗?
1条答案
按热度按时间hts6caw31#
引用文档:
请注意,匹配器是按顺序考虑的。
在您的配置中,
/user/**
的优先级高于/user/document/**
。因此,在这两种情况下,第二个antMatcher(...)
永远不会应用。回答您的第二个问题(我是否需要每次都调用它?)-答案是NO。下面是一个示例配置(同样来自文档):