Spring- Security :java.lang.NoClassDefFoundError: org/springframework/security/context/DelegatingApplicationListener -


i upgrading spring-security version 3.2.5 4.0.1. unfortunately have stumbled across road-block , appreciate help. posting error log, securityapplicationcontext.xml , pom.xml. kindly have look.

error log :

javax.servlet.servletexception: java.lang.nosuchmethoderror: org.springframework.security.web.access.expression.websecurityexpressionroot.setdefaultroleprefix(ljava/lang/string;)v     org.apache.jasper.runtime.pagecontextimpl.dohandlepageexception(pagecontextimpl.java:916)     org.apache.jasper.runtime.pagecontextimpl.handlepageexception(pagecontextimpl.java:845)     org.apache.jsp.web_002dinf.views.common.footer_jsp._jspservice(footer_jsp.java:231)     org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) 

securityapplicationcontext.xml :

<security:http pattern="/resources/**" security="none"/>      <security:http create-session="ifrequired" use-expressions="true" auto-config="false" disable-url-rewriting="true">         <security:form-login login-page="/login" login-processing-url="/j_spring_security_check" default-target-url="/dashboard" always-use-default-target="false" authentication-failure-url="/denied" />         <security:remember-me key="_spring_security_remember_me" user-service-ref="userdetailsservice" token-validity-seconds="1209600" data-source-ref="datasource"/>         <security:logout delete-cookies="jsessionid" invalidate-session="true" logout-url="/j_spring_security_logout"/> <!--     <security:intercept-url pattern="/**" requires-channel="https"/> -->     <security:port-mappings>         <security:port-mapping http="8080" https="8443"/>     </security:port-mappings>     <security:logout logout-url="/logout" logout-success-url="/" success-handler-ref="mylogouthandler"/>       <security:session-management session-fixation-protection="migratesession">          <security:concurrency-control session-registry-ref="sessionregistry" max-sessions="5" expired-url="/login"/>      </security:session-management>       </security:http>      <beans:bean id="remembermeauthenticationprovider" class="org.springframework.security.web.authentication.rememberme.persistenttokenbasedremembermeservices">         <beans:constructor-arg index="0" value="_spring_security_remember_me"/>         <beans:constructor-arg index="1" ref="userdetailsservice"/>         <beans:constructor-arg index="2" ref="jdbctokenrepository"/>         <property name="alwaysremember" value="true"/>     </beans:bean>      <!--database management remember-me -->     <beans:bean id="jdbctokenrepository"                 class="org.springframework.security.web.authentication.rememberme.jdbctokenrepositoryimpl">         <beans:property name="createtableonstartup" value="false"/>         <beans:property name="datasource" ref="datasource" />     </beans:bean>      <!-- remember me ends here -->     <security:authentication-manager alias="authenticationmanager">         <security:authentication-provider user-service-ref="loginserviceimpl">            <security:password-encoder  ref="encoder"/>         </security:authentication-provider>     </security:authentication-manager>      <beans:bean id="encoder"                 class="org.springframework.security.crypto.bcrypt.bcryptpasswordencoder">         <beans:constructor-arg name="strength" value="11" />     </beans:bean>      <beans:bean id="daoauthenticationprovider"                 class="org.springframework.security.authentication.dao.daoauthenticationprovider">                 <beans:property name="userdetailsservice" ref="loginserviceimpl"/>                <beans:property name="passwordencoder" ref="encoder"/>     </beans:bean> </beans> 

and pom.xml :

<packaging>war</packaging>     <properties>         <java-version>1.8</java-version>         <org.springframework-version>4.0.6.release</org.springframework-version>         <org.aspectj-version>1.7.4</org.aspectj-version>         <org.slf4j-version>1.7.5</org.slf4j-version>         <hibernate.version>4.3.9.final</hibernate.version>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>         <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>         <springsecurity.version>4.0.1.release</springsecurity.version>     </properties>      <dependencies> <!-- spring mobile dependencies -->          <dependency>             <groupid>org.springframework.mobile</groupid>             <artifactid>spring-mobile-device</artifactid>             <version>1.1.3.release</version>         </dependency>          <!-- spring mobile ends here -->         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-beans</artifactid>             <version>${org.springframework-version}</version>         </dependency>          <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-web</artifactid>             <version>${org.springframework-version}</version>         </dependency> <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-webmvc</artifactid>             <version>${org.springframework-version}</version>         </dependency>         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-tx</artifactid>             <version>${org.springframework-version}</version>         </dependency>         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-core</artifactid>             <version>${org.springframework-version}</version>         </dependency>   <!-- spring security dependenciey -->          <dependency>             <groupid>org.springframework.security</groupid>             <artifactid>spring-security-web</artifactid>             <version>${springsecurity.version}</version>         </dependency>         <dependency>             <groupid>org.springframework.security</groupid>             <artifactid>spring-security-config</artifactid>             <version>${springsecurity.version}</version>         </dependency>         <dependency>             <groupid>org.springframework.security</groupid>             <artifactid>spring-security-taglibs</artifactid>             <version>${springsecurity.version}</version>         </dependency>         <dependency>             <groupid>commons-logging</groupid>             <artifactid>commons-logging</artifactid>             <version>1.2</version>         </dependency> 

if there more required, kindly let me know. lot. :-)

firstly, need spring-security-core dependency within pom.xml.

secondly, error message receiving incompatible versions between spring , spring-security. thought using

<org.springframework-version>4.0.6.release</org.springframework-version> <springsecurity.version>4.0.1.release</springsecurity.version> have work fine noticed line in spring-security documentation regarding migration spring-security 4:

"spring security 4 requires spring 4. means first step update spring 4.1.x."

my configuration uses spring version 4.1.1.release , works spring-security.

therefore i'd best bet upgrade <org.springframework-version> version 4.1 or above.


Comments

Popular posts from this blog

javascript - Karma not able to start PhantomJS on Windows - Error: spawn UNKNOWN -

c# - Display ASPX Popup control in RowDeleteing Event (ASPX Gridview) -

Nuget pack csproj using nuspec -