2016-08-16 2 views
0

私はSecurityConfigクラスをすでに使用している外部ライブラリに持っています。春のブートプロジェクトで2つのSecurityConfigクラス

addFilterBeforeとaddFilterAfterを使用して、私のプロジェクトにさらにフィルタを登録するために別のSecurityConfigクラスが必要です。

私はちょうど私のプロジェクトでは、以下の追加と私はエラーの下に取得し、

@Configuration 
@EnableWebMvcSecurity 
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) 
public class MySecurityConfig extends WebSecurityConfigurerAdapter {  
} 

org.springframework.beans.factory.BeanCreationException:エラー 名前 「org.springframework.securityでBeanを作成します。 config.annotation.web.configuration.WebSecurityConfiguration ': autowired依存関係の注入に失敗しました。入れ子にされた例外は ですjava.lang.IllegalStateException:WebSecurityConfigurersの@Orderは でなければなりません。 100の注文がすでに使用されていたため、 com.pearson.spr[email protected]7326eb0d には使用できません。

+0

エラーに何か言及しようとしましたか? 'WebSecurityConfigurerAdapter'は100のオーダーを指定します(' @Order(100) 'アノテーションを使います)。だからあなた自身の '@ Order'アノテーションを使って自分のconfigの別のオーダーを指定しようとしましたか? – g00glen00b

答えて

1

私は同じ問題を抱えていましたが、あなたのウェブセキュリティに@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 {