java - Spring security : @Secured : Error Add CGLIB to the class path or specify proxy interfaces -
i hope can me issue:
i use spring security (3.1.0.release.jar)
security configuration:
<security:global-method-security secured-annotations="enabled"/>
when add @secured('role_admin') controller error appear
grave: exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.contextloaderlistener org.springframework.beans.factory.beancreationexception: error creating bean name 'services_controller' defined in file [d:\workspaceeclipsejee\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myapp\web-inf\classes\com\pfe\controller\services_controller.class]: initialization of bean failed; nested exception org.springframework.aop.framework.aopconfigexception: cannot proxy target class because cglib2 not available. add cglib class path or specify proxy interfaces. @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:527) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:585) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:913) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:464) @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:384) @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:283) @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:111) @ org.apache.catalina.core.standardcontext.listenerstart(standardcontext.java:5016) @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5528) @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565) @ java.util.concurrent.futuretask.run(unknown source) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source) caused by: org.springframework.aop.framework.aopconfigexception: cannot proxy target class because cglib2 not available. add cglib class path or specify proxy interfaces. @ org.springframework.aop.framework.defaultaopproxyfactory.createaopproxy(defaultaopproxyfactory.java:67) @ org.springframework.aop.framework.proxycreatorsupport.createaopproxy(proxycreatorsupport.java:104) @ org.springframework.aop.framework.proxyfactory.getproxy(proxyfactory.java:112) @ org.springframework.aop.framework.autoproxy.abstractautoproxycreator.createproxy(abstractautoproxycreator.java:476) @ org.springframework.aop.framework.autoproxy.abstractautoproxycreator.wrapifnecessary(abstractautoproxycreator.java:362) @ org.springframework.aop.framework.autoproxy.abstractautoproxycreator.postprocessafterinitialization(abstractautoproxycreator.java:322) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.applybeanpostprocessorsafterinitialization(abstractautowirecapablebeanfactory.java:407) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1461) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:519) ... 20 more
i made these changes
1: <security:global-method-security pre-post-annotations="enabled"/>
2: put in appservlet-servlet.xml
3: added cglib-nodep-3.1.jar lib
4: use @preauthorize("hasrole('role_admin')") instead of @secured
Comments
Post a Comment