nai*_*bes 7 java spring spring-security spring-boot
2.1发行说明中的SpringBoot包含以下信息:
安全配置现在应用于WebTestClient.有关测试安全端点的更多信息,请参阅Spring Security参考文档的相关部分.
问题:
将SpringBoot从2.0.4更新到2.1.2后,我发现我的测试已经停止工作了.我正在使用@SpringBootTest我的REST测试.我WebTestClient无法到达服务器.我确实尝试了很多(例如从这里)来模拟或禁用安全性并仍然得到403 FORBIDDEN响应.
你有什么线索可能有什么不对吗?
我WebTestClient按以下方式创建:
client = WebTestClient
.bindToServer()
.baseUrl("http://localhost:$port")
.build()
Run Code Online (Sandbox Code Playgroud)
也试图排除SecurityAutoConfiguration.class.
在某个黑暗的地方,在兔子洞的深处,我发现了这个:
@TestConfiguration
@Order(1)
public class SecurityConfiguration
implements WebSecurityConfigurer<WebSecurity> {
@Override
public void init(WebSecurity builder) throws Exception {
builder.ignoring().requestMatchers(
new AntPathRequestMatcher("/**"));
}
@Override
public void configure(WebSecurity builder) throws Exception {
}
}
Run Code Online (Sandbox Code Playgroud)
记得在 中注册类@SpringBootTest,例如:
@SpringBootTest(
classes = [SomeApplication, SecurityConfiguration],
webEnvironment = RANDOM_PORT
)
Run Code Online (Sandbox Code Playgroud)
它并没有禁用 spring 安全性,但它使其透明。
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |