我試着在我的春季安全配置來註冊多個過濾器,但我總是得到相同的異常:春季安全配置@Order不是唯一的例外
04 - 11月 - 2015年14:35:23.792警告[RMI TCP連接(3)-127.0.0.1] org.springframework.web.context.support.AnnotationConfigWebApplicationContext.refresh 異常上下文初始化過程中遇到 - 消除 刷新嘗試 org.springframework.beans.factory.BeanCreationException:錯誤 創建名稱爲 的bean'org.springframework.security.config.annotation.web.confi guration.WebSecurityConfiguration': 注入自動裝配依賴失敗;嵌套的異常是 java.lang.IllegalStateException:WebSecurityConfigurers上的@Order必須是唯一的 。 100的訂單已被使用,所以它不能用於 com.payment21.webapp.MultiHttpSecurityConfig$ApiW[email protected]1d381684 。
由於我自己的努力沒有工作,我試過完全相同的代碼如圖所示Spring Security reference:
@EnableWebSecurity
public class MultiHttpSecurityConfig {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER").and()
.withUser("admin").password("password").roles("USER", "ADMIN");
}
@Configuration
@Order(1)
public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/api/**")
.authorizeRequests()
.anyRequest().hasRole("ADMIN")
.and()
.httpBasic();
}
}
@Configuration
public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin();
}
}
}
要找出錯誤我試圖取代通過web.xml中基於Java的方法,但它也沒有工作。我不知道什麼是錯,文件是錯的?我的應用程序中的某些東西可能與配置混亂嗎?系統正常啓動,除非我註冊第二個WebSecurityConfigAdapter。
那是我的依賴關係:
compile 'org.springframework:spring-webmvc:4.2.2.RELEASE'
compile 'org.springframework:spring-messaging:4.2.2.RELEASE'
compile 'org.springframework:spring-websocket:4.2.2.RELEASE'
compile 'org.springframework:spring-aop:4.2.2.RELEASE'
compile'javax.servlet:javax.servlet-api:3.0.1'
compile 'org.springframework.security:spring-security-web:4.0.3.RELEASE'
compile 'org.springframework.security:spring-security-config:4.0.3.RELEASE'
這是一些深層次的東西.. :-) –
你是如何解決這個問題的?編譯IDEA時遇到確切的問題。我的應用程序中沒有@Order,但它仍然對WebSecurityConfigurerAdapter非常困惑! –