我正在使用spring 3.1.0,我希望能够访问一些路由而无需身份验证。但是,在使用下面的代码后,浏览器会打开一个小的登录窗口,我需要在其中添加用户名和密码。
@Bean
public SecurityFilterChain filterChain(final HttpSecurity http) throws Exception {
http
.authorizeHttpRequests((requests) -> requests
.requestMatchers("/login", "/home").permitAll()
.anyRequest().authenticated()
)
.httpBasic(withDefaults())
.anonymous(a -> a.disable());
return http.build();
}
这是我使用spring security 2.x时代码的外观。如何使用spring 3.1.0迁移下面的代码?
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
http
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/login", "/home").permitAll()
}
2条答案
按热度按时间ttcibm8c1#
我有白名单/不安全的一些 swagger 的端点以前使用下面的代码,这应该为您工作。如果上面的类有多个Bean,还要确保设置了此Bean
SecurityFilterChain
的优先级。eqfvzcg82#
如果它扩展了WebSecurityConfigurerAdapter,请尝试将其添加到代码中。