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
Post a Comment