Ich versuche, Java-Konfiguration und XML-Konfiguration für die Authentifizierung von Spring Security zu kombinieren. Aber ich habe einen Fehler erhalten:
Fehler beim Erstellen des Beans mit dem Namen 'securityConfig': Injection von autowired-Abhängigkeiten fehlgeschlagen
Was scheint das Problem mit meinem Code zu sein? Ich habe nach Antworten gesucht, aber keine gefunden.
Vielen Dank im Voraus. Hoffe, Sie können mir helfen.
Stack-Trace:
org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen des Beans mit dem Namen 'securityConfig': Injection von autowired-Abhängigkeiten fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Methode konnte nicht verkabelt werden: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.setAuthenticationConfiguration(org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration); verschachtelte Ausnahme ist org.springframework.beans.factory.NoSuchBeanDefinitionException: Keine Übereinstimmung für den Typ [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] für Abhängigkeit gefunden: mindestens 1 Bean erwartet, der als Verkabelungskandidat für diese Abhängigkeit qualifiziert. Abhängigkeitsannotationen: {}
Verursacht durch: org.springframework.beans.factory.BeanCreationException: Methode konnte nicht verkabelt werden: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.setAuthenticationConfiguration(org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration); verschachtelte Ausnahme ist org.springframework.beans.factory.NoSuchBeanDefinitionException: Keine Übereinstimmung für den Typ [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] für Abhängigkeit gefunden: mindestens 1 Bean erwartet, der als Verkabelungskandidat für diese Abhängigkeit qualifiziert. Abhängigkeitsannotationen: {}
Verursacht durch: org.springframework.beans.factory.NoSuchBeanDefinitionException: Keine Übereinstimmung für den Typ [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] für Abhängigkeit gefunden: mindestens 1 Bean erwartet, der als Verkabelungskandidat für diese Abhängigkeit qualifiziert. Abhängigkeitsannotationen: {}
Java-Konfiguration: SecurityConfig.java
@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/webapp/resources/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void registerGlobalAuthentication(
AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
web.xml
contextConfigLocation
/WEB-INF/spring/root-context.xml
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/spring/appServlet/servlet-context.xml
1
appServlet
/
Ich habe bereits das Komponenten-Scanning in meiner servlet-context.xml deklariert