那么,有没有一种方法可以允许对单个端点进行未经身份验证的访问?我有一个像这样的Spring Security Configuration类:
public class WebSecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests((authorize) -> authorize
.anyRequest().authenticated()
)
.httpBasic(withDefaults());
return http.build();
}
}
一个控制器看起来像这样:
@RestController
@RequestMapping(path = "/users")
public class ExampleController {
@GetMapping
public List<Users> getUserList(@PathVariable String userId) {
return this.userService.getUserList(userId);
}
@PostMapping
public void createUser(@RequestBody User user) {
this.userService.createUser(user);
}
}
因此,在我的配置中使用antMatchers
可能无法完成这项工作,因为我的GET
和POST
具有相同的路径......有没有一种方法可以禁用单个端点上的安全性,比如类似的装饰器?
顺便说一句,我正在使用Java 19和Spring截至2023年3月的最新稳定版本
1条答案
按热度按时间unguejic1#
有一个antMatcher的重载,它将http方法作为第一个参数,尝试: