2012-04-18 14 views
5

Sto provando la configurazione di base della sicurezza di primavera. Sto usando 3.1.0.RELEASE ho nel xml di sicurezza della molla come segue:Spring Security-Errore nella creazione di bean 'org.springframework.security.filterChains'

<security:http auto-config='true'> 
<security:intercept-url pattern="/**" access="ROLE_USER" /> 
</security:http> 

<security:authentication-manager> 
<security:authentication-provider> 
<security:user-service> 
<security:user name="jimi" password="jimispassword" authorities="ROLE_USER,  ROLE_ADMIN" /> 
<security:user name="bob" password="bobspassword" authorities="ROLE_USER" /> 
</security:user-service> 
</security:authentication-provider> 
</security:authentication-manager> 

Quando accedo alla pagina iniziale, ottengo la seguente eccezione: org.springframework.beans.factory.BeanCreationExce ption : Errore durante la creazione di bean con il nome "org.springframework.security.filterChains": inizializzazione del bean non riuscita; l'eccezione annidata è java.lang.NoSuchFieldError: NULL.

Qualcuno può aiutarmi?

+0

org.springframework.beans.factory.BeanCreationException: errore durante la creazione di bean con nome 'org.springframework.security.filterChains': inizializzazione del bean non riuscita; l'eccezione annidata è java.lang.NoSuchFieldError: NULL \t a org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:527) – jrpalla

+0

**************** ********** web XML *********** contextConfigLocation /WEB-INF/applicationContext-security.xml springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* jrpalla

+1

Benvenuti a StackOverflow. Un suggerimento: invece di aggiungere comandi, è possibile modificare la domanda, questo lo renderebbe più leggibile. – Ralph

risposta

0

tuo web.xml sembra vi siete persi la org.springframework.web.context.ContextLoaderListener

tuo web.xml Shoul avere questi elementi:

<!-- or in your case /WEB-INF/applicationContext-security.xml --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value> 
</context-param> 

<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<servlet> 
    <servlet-name>My-Web-SpringProject</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/webmvc-config.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<filter-mapping> 
    <!-- do not change this name! --> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<!-- Creates the Spring Container shared by all Servlets and Filters --> 
<!-- it is configured by the parameter contextConfigLocation in the begining --> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet-mapping> 
    <servlet-name>My-Web-SpringProject</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

Per essere onesti, questa è una configurazione di Spring 3.0, ma penso che sia lo stesso per 3.1

11

La vera causa del problema sembra essere che la sicurezza 3.1.0 di primavera attira le versioni precedenti di Spring che creano un conflitto silenzioso. Nel mio caso spring-security-3.1.0.RELEASE ha tirato spring-aop, spring-jdbc, spring-tx e spring-expression 3.0.6 ma stavo usando spring 3.1.0.RELEASE. Dopo aver aggiunto queste dipendenze in modo esplicito, il problema è andato via.

+0

questa è la diagnosi corretta, aggiungi la gestione dep per aop/jdbc/etc e la risolverà: – ianpojman

Problemi correlati