2.1发行说明中的SpringBoot包含以下信息:
安全性配置现已应用于WebTestClient。有关测试安全端点的更多信息,请参阅Spring Security参考文档的相关部分。
问题:
将SpringBoot从 2.0.4 更新到 2.1.2 后,我发现我的测试已停止工作。我正在使用@SpringBootTest
进行REST测试。我的WebTestClient
无法访问服务器。我做了很多尝试(例如来自here的尝试)
模拟或禁用安全性并仍然得到403 FORBIDDEN
响应。
您有什么线索可能会出错吗?
我通过以下方式创建WebTestClient
:
client = WebTestClient
.bindToServer()
.baseUrl("http://localhost:$port")
.build()
还尝试排除SecurityAutoConfiguration.class
。
答案 0 :(得分:2)
在某个黑暗的地方,在兔子洞的深处,我发现了这一点:
@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 {
}
}
请在@SpringBootTest
中注册班级,例如:
@SpringBootTest(
classes = [SomeApplication, SecurityConfiguration],
webEnvironment = RANDOM_PORT
)
它不会禁用spring安全性,但会使其透明。
答案 1 :(得分:0)
通过将"ABC" --> "DEF" True
"BIKE" --> "FGEH" True
"Alex"--> "BoB" --> False duplicate characters B and different size length.
"Mom"---> "DaD" --> False duplicate letters D.
static void match(String str1, String str2){
char[] inp1 = str1.toCharArray();
char[] inp2 = str2.toCharArray();
for (int i = 0; i < str1.length(); i++) {
for (int j = 0; j < str2.length(); j++) {
if (inp1[i] == inp[j]) {
的{{1}}标志设置为secure
,我发现了类似问题的解决方法。
赞:
false