Spring security cannot find AffirmativeBased class -
can assist me following. i've configured spring authentication fine - can use spring authenticate via database , prevent access based on url etc... i'm trying implement access decision manager , cannot class throwing
2010-12-07 15:20:47,926 error [main] frameworkservlet - context initialization failed org.springframework.beans.factory.beancreationexception: error creating bean name 'scopedtarget.articlecontroller': injection of persistence dependencies failed; nested exception org.springframework.beans.factory.cannotloadbeanclassexception: cannot find class [org.springframework.security.access.vote.affirmativebased] bean name 'sgaccessdecisionmanager' defined in class path resource [scriptgang2-web-context.xml]; nested exception java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:341) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1074) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:517) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:291) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:288) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:190) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:580) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:895) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:425) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:442) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:458) @ org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:339) @ org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:306) @ org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:127) @ javax.servlet.genericservlet.init(genericservlet.java:212) @ org.apache.catalina.core.standardwrapper.loadservlet(standardwrapper.java:1172) @ org.apache.catalina.core.standardwrapper.load(standardwrapper.java:992) @ org.apache.catalina.core.standardcontext.loadonstartup(standardcontext.java:4058) @ org.apache.catalina.core.standardcontext.start(standardcontext.java:4371) @ org.apache.catalina.core.containerbase.start(containerbase.java:1045) @ org.apache.catalina.core.standardhost.start(standardhost.java:719) @ org.apache.catalina.core.containerbase.start(containerbase.java:1045) @ org.apache.catalina.core.standardengine.start(standardengine.java:443) @ org.apache.catalina.core.standardservice.start(standardservice.java:516) @ org.apache.catalina.core.standardserver.start(standardserver.java:710) @ org.apache.catalina.startup.catalina.start(catalina.java:578) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.apache.catalina.startup.bootstrap.start(bootstrap.java:288) @ org.apache.catalina.startup.bootstrap.main(bootstrap.java:413) caused by: org.springframework.beans.factory.cannotloadbeanclassexception: cannot find class [org.springframework.security.access.vote.affirmativebased] bean name 'sgaccessdecisionmanager' defined in class path resource [scriptgang2-web-context.xml]; nested exception java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.springframework.beans.factory.support.abstractbeanfactory.resolvebeanclass(abstractbeanfactory.java:1250) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.predictbeantype(abstractautowirecapablebeanfactory.java:576) @ org.springframework.beans.factory.support.abstractbeanfactory.isfactorybean(abstractbeanfactory.java:1319) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeannamesfortype(defaultlistablebeanfactory.java:315) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeannamesfortype(defaultlistablebeanfactory.java:296) @ org.springframework.beans.factory.beanfactoryutils.beannamesfortypeincludingancestors(beanfactoryutils.java:142) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.finddefaultentitymanagerfactory(persistenceannotationbeanpostprocessor.java:526) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.findentitymanagerfactory(persistenceannotationbeanpostprocessor.java:495) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.resolveentitymanager(persistenceannotationbeanpostprocessor.java:656) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.getresourcetoinject(persistenceannotationbeanpostprocessor.java:629) @ org.springframework.beans.factory.annotation.injectionmetadata$injectedelement.inject(injectionmetadata.java:147) @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:84) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:338) ... 33 more caused by: java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1387) @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1233) @ org.springframework.util.classutils.forname(classutils.java:257) @ org.springframework.beans.factory.support.abstractbeandefinition.resolvebeanclass(abstractbeandefinition.java:408) @ org.springframework.beans.factory.support.abstractbeanfactory.doresolvebeanclass(abstractbeanfactory.java:1271) @ org.springframework.beans.factory.support.abstractbeanfactory.resolvebeanclass(abstractbeanfactory.java:1242) ... 45 more 2010-12-07 15:20:47,926 error [main] frameworkservlet - context initialization failed org.springframework.beans.factory.beancreationexception: error creating bean name 'scopedtarget.articlecontroller': injection of persistence dependencies failed; nested exception org.springframework.beans.factory.cannotloadbeanclassexception: cannot find class [org.springframework.security.access.vote.affirmativebased] bean name 'sgaccessdecisionmanager' defined in class path resource [scriptgang2-web-context.xml]; nested exception java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:341) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1074) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:517) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:291) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:288) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:190) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:580) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:895) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:425) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:442) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:458) @ org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:339) @ org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:306) @ org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:127) @ javax.servlet.genericservlet.init(genericservlet.java:212) @ org.apache.catalina.core.standardwrapper.loadservlet(standardwrapper.java:1172) @ org.apache.catalina.core.standardwrapper.load(standardwrapper.java:992) @ org.apache.catalina.core.standardcontext.loadonstartup(standardcontext.java:4058) @ org.apache.catalina.core.standardcontext.start(standardcontext.java:4371) @ org.apache.catalina.core.containerbase.start(containerbase.java:1045) @ org.apache.catalina.core.standardhost.start(standardhost.java:719) @ org.apache.catalina.core.containerbase.start(containerbase.java:1045) @ org.apache.catalina.core.standardengine.start(standardengine.java:443) @ org.apache.catalina.core.standardservice.start(standardservice.java:516) @ org.apache.catalina.core.standardserver.start(standardserver.java:710) @ org.apache.catalina.startup.catalina.start(catalina.java:578) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.apache.catalina.startup.bootstrap.start(bootstrap.java:288) @ org.apache.catalina.startup.bootstrap.main(bootstrap.java:413) caused by: org.springframework.beans.factory.cannotloadbeanclassexception: cannot find class [org.springframework.security.access.vote.affirmativebased] bean name 'sgaccessdecisionmanager' defined in class path resource [scriptgang2-web-context.xml]; nested exception java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.springframework.beans.factory.support.abstractbeanfactory.resolvebeanclass(abstractbeanfactory.java:1250) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.predictbeantype(abstractautowirecapablebeanfactory.java:576) @ org.springframework.beans.factory.support.abstractbeanfactory.isfactorybean(abstractbeanfactory.java:1319) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeannamesfortype(defaultlistablebeanfactory.java:315) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeannamesfortype(defaultlistablebeanfactory.java:296) @ org.springframework.beans.factory.beanfactoryutils.beannamesfortypeincludingancestors(beanfactoryutils.java:142) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.finddefaultentitymanagerfactory(persistenceannotationbeanpostprocessor.java:526) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.findentitymanagerfactory(persistenceannotationbeanpostprocessor.java:495) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.resolveentitymanager(persistenceannotationbeanpostprocessor.java:656) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.getresourcetoinject(persistenceannotationbeanpostprocessor.java:629) @ org.springframework.beans.factory.annotation.injectionmetadata$injectedelement.inject(injectionmetadata.java:147) @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:84) @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:338) ... 33 more caused by: java.lang.classnotfoundexception: org.springframework.security.access.vote.affirmativebased @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1387) @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1233) @ org.springframework.util.classutils.forname(classutils.java:257) @ org.springframework.beans.factory.support.abstractbeandefinition.resolvebeanclass(abstractbeandefinition.java:408) @ org.springframework.beans.factory.support.abstractbeanfactory.doresolvebeanclass(abstractbeanfactory.java:1271) @ org.springframework.beans.factory.support.abstractbeanfactory.resolvebeanclass(abstractbeanfactory.java:1242) ... 45 more
and config is:-
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:context="http://www.springframework.org/schema/context" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:security="http://www.springframework.org/schema/security" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.1.xsd"> <!-- ******************************************************************** --> <!-- context file generated , not intended changed manually. --> <!-- ******************************************************************** --> <!-- ******************************************************************** --> <!-- mark bean transactions annotation driven --> <!-- ******************************************************************** --> <tx:annotation-driven transaction-manager="transactionmanager" /> <!-- ******************************************************************** --> <!-- bean name view resolver used redirect beans id, required binary content view --> <!-- ******************************************************************** --> <bean id="beannameviewresolver" class="org.springframework.web.servlet.view.beannameviewresolver" /> <bean id="viewresolver" class="org.springframework.web.servlet.view.urlbasedviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" /> </bean> <!-- ******************************************************************** --> <!-- scan annotated beans --> <!-- ******************************************************************** --> <context:component-scan base-package="com.testit" scoped-proxy="interfaces" /> <!-- ******************************************************************** --> <!-- apply security beans security set --> <!-- ******************************************************************** --> <security:global-method-security secured-annotations="enabled" access-decision-manager-ref="sgaccessdecisionmanager"> <security:protect-pointcut expression="execution(* com.testit..test.*(..))" access="is_authenticated_remembered"/> </security:global-method-security> <bean id="sgaccessdecisionmanager" class="org.springframework.security.access.vote.affirmativebased"> <property name="allowifallabstaindecisions" value="false" /> <property name="decisionvoters"> <list> <bean class="org.springframework.security.vote.rolevoter" /> <bean class="org.springframework.security.vote.authenticatedvoter" /> <bean class="com.testit.sgaccessvoter" /> </list> </property> </bean> <bean id="multipartresolver" class="org.springframework.web.multipart.commons.commonsmultipartresolver"> <property name="maxuploadsize"> <value>1000000000</value> </property> </bean> <bean id="requestinterceptor" class="com.testit.requestinterceptor"> </bean> </beans>
any appreciated.
i guess use spring security 2.x whereas org.springframework.security.access.vote.affirmativebased
moved package in spring security 3.x. in 2.x org.springframework.security.vote.affirmativebased
.
Comments
Post a Comment