Spring Boot 项目中的两个 SecurityConfig 类

Har*_*ana 5 java spring-security spring-boot

我正在使用的外部库中已经有一个 SecurityConfig 类。

我想要另一个 SecurityConfig 类,以便使用 addFilterBefore 和 addFilterAfter 在我的项目中注册更多过滤器。

我只是在我的项目中添加以下内容,但出现以下错误,

@Configuration
@EnableWebMvcSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class MySecurityConfig extends WebSecurityConfigurerAdapter {       
}
Run Code Online (Sandbox Code Playgroud)

org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration”的bean时出错:自动装配依赖项的注入失败;嵌套异常是 java.lang.IllegalStateException: WebSecurityConfigurers 上的 @Order 必须是唯一的。已经使用了 100 的顺序,因此它也不能用于 com.pearson.springtools.config.SecurityConfig$$EnhancerBySpringCGLIB$$f0407fdb@7326eb0d。

Kum*_*hek 5

我遇到了同样的问题,在您的网络安全上应用 @Order(99) 它将修复。

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableAutoConfiguration(exclude = {
        org.activiti.spring.boot.RestApiAutoConfiguration.class,
        org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
        org.activiti.spring.boot.SecurityAutoConfiguration.class})
@ComponentScan(basePackages = {"com.onlineBankingApplication"})
@Order(99)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
Run Code Online (Sandbox Code Playgroud)

  • 不工作。如果我使用 99,那么扩展 WebSecurityConfigurerAdapter 的 securityConfig 类将不会被调用。 (2认同)