由于@Order,Spring WebSecurityConfigurerAdapter不断抛出IllegalStateException

时间:2013-11-22 20:03:32

标签: spring spring-security

我扩展了WebSecurityConfigurerAdapter,但每次启动Jetty时,我都会遇到异常:

  

java.lang.IllegalStateException:WebSecurityConfigurers上的@Order必须是唯一的。已经使用了2147433647的订单,因此它不能用于com.xtl.mis.support.config.SecurityConfig$$EnhancerByCGLIB $ 11a4eacf@332c45ff。

我之前没有使用@Order注释该类并开始获取异常。目前,我的班级使用@Order注释(Ordered.LOWEST_PRECEDENCE - 50000)。我已经为这个注释尝试了几个不同的值,但总是得到上述异常,说@Order必须是唯一的并且已经使用了计算的那个。我正在使用Spring Security 3.1.4.RELEASE和Spring Security JavaConfig 1.0.0.M1。

2 个答案:

答案 0 :(得分:3)

我相信我已经解决了这个问题。我有一个名为AppConfig的中心@Configuration类,它上面还有一个@Import({SecurityConfig.class})注释。我删除了@Import注释并添加了@ComponentScan,现在它可以正常工作。

答案 1 :(得分:0)

在集成测试中扩展WebSecurityConfigurerAdapter时,您也可以替换..

@Import({SecurityConfig.class})

.. ..通过

@ContextConfiguration(classes = SecurityConfig.class)