使用 Cucumber 的 Spring 安全性 - SpringSecurityFilterChainException

Spring Security with Cucumber - SpringSecurityFilterChainException

提问人:kaundinya 提问时间:11/9/2023 最后编辑:kaundinya 更新时间:11/9/2023 访问量:37

问:

我正在尝试为我的应用程序编写黄瓜测试,我必须以用户身份发送请求。 我在设置步骤中遇到此异常 - java.lang.IllegalStateException:springSecurityFilterChain 不能为空。确保存在一个名为 springSecurityFilterChain 实现 Filter 的 Bean,或者注入要使用的 Filter。我也在春季文档中发现,必须做与我正在做的事情相同的事情。(https://docs.spring.io/spring-security/reference/servlet/test/mockmvc/setup.html)(https://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#test-mockmvc-setup)

有人可以帮忙吗?

P.S. 相同的设置在我的其他应用程序之一中工作。

这就是我在步骤定义类中所做的

@Autowired
    private WebApplicationContext webApplicationContext;
    private MockMvc mockMvc;

    @Before
    public void setUp() {
        mockMvc = MockMvcBuilders
                .webAppContextSetup(webApplicationContext)
                .apply(springSecurity())
                .build();

我还有一个配置类


import io.cucumber.spring.CucumberContextConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestExecutionListeners;
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
import org.springframework.test.context.support.DirtiesContextTestExecutionListener;

@CucumberContextConfiguration
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestExecutionListeners(inheritListeners = false, listeners =
        {DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class})
public class CucumberSpringConfiguration {
}
Java Spring -安全 黄瓜

评论


答: 暂无答案