Please add support for SpringSecurity 3.0

XMLWordPrintable

      The Crowd Spring Security adapters don't work with 3.0.x due to some rearrangement of the package structure. Support would be nice to have.

      Startup error when attempting to use current adapters:

      2010-02-05 13:13:26,663 INFO [beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [applicationContext.xml]
      2010-02-05 13:13:26,993 INFO [beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [applicationContext-security.xml]
      2010-02-05 13:13:27,255 INFO [beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [applicationContext-CrowdClient.xml]
      2010-02-05 13:13:27,396 INFO [beans.factory.support.DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4e1263db: defining beans [authUtils,org.springframework.security.web.PortMapperImpl#0,org.springframework.security.web.context.HttpSessionSecurityContextRepository#0,org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy#0,org.springframework.security.authentication.ProviderManager#0,org.springframework.security.access.vote.AffirmativeBased#0,org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0,org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator#0,org.springframework.security.authentication.AnonymousAuthenticationProvider#0,org.springframework.security.web.savedrequest.HttpSessionRequestCache#0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0,org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor#0,org.springframework.security.filterChainProxy,websiteGroupMembershipManager,crowdUserDetailsService,crowdAuthenticationProvider,org.springframework.security.authentication.DefaultAuthenticationEventPublisher#0,org.springframework.security.authenticationManager,resourceLocator,clientProperties,securityServerClient,crowdAuthenticationManager,httpAuthenticator,verifyTokenFilter,ehcacheManager,clientCache,crowdUserManager,crowdGroupMembershipManager,crowdGroupManager]; root of factory hierarchy
      2010-02-05 13:13:27,444 INFO [beans.factory.support.DefaultListableBeanFactory] Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4e1263db: defining beans [authUtils,org.springframework.security.web.PortMapperImpl#0,org.springframework.security.web.context.HttpSessionSecurityContextRepository#0,org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy#0,org.springframework.security.authentication.ProviderManager#0,org.springframework.security.access.vote.AffirmativeBased#0,org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0,org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator#0,org.springframework.security.authentication.AnonymousAuthenticationProvider#0,org.springframework.security.web.savedrequest.HttpSessionRequestCache#0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0,org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor#0,org.springframework.security.filterChainProxy,websiteGroupMembershipManager,crowdUserDetailsService,crowdAuthenticationProvider,org.springframework.security.authentication.DefaultAuthenticationEventPublisher#0,org.springframework.security.authenticationManager,resourceLocator,clientProperties,securityServerClient,crowdAuthenticationManager,httpAuthenticator,verifyTokenFilter,ehcacheManager,clientCache,crowdUserManager,crowdGroupMembershipManager,crowdGroupManager]; root of factory hierarchy
      2010-02-05 13:13:27,445 ERROR [springframework.web.context.ContextLoader] Context initialization failed
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authentication.ProviderManager#0': Cannot create inner bean '(inner bean)' of type [org.springframework.security.config.authentication.AuthenticationManagerFactoryBean] while setting bean property 'parent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authenticationManager': Cannot resolve reference to bean 'crowdAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.atlassian.crowd.integration.springsecurity.RemoteCrowdAuthenticationProvider] for bean with name 'crowdAuthenticationProvider' defined in class path resource [applicationContext-security.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/providers/AuthenticationProvider
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281)
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1305)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
      	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
      	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
      	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
      	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
      	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
      	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
      	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
      	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
      	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
      	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
      	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authenticationManager': Cannot resolve reference to bean 'crowdAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.atlassian.crowd.integration.springsecurity.RemoteCrowdAuthenticationProvider] for bean with name 'crowdAuthenticationProvider' defined in class path resource [applicationContext-security.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/providers/AuthenticationProvider
      	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:150)
      	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:109)
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:274)
      	... 39 more
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.authenticationManager': Cannot resolve reference to bean 'crowdAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.atlassian.crowd.integration.springsecurity.RemoteCrowdAuthenticationProvider] for bean with name 'crowdAuthenticationProvider' defined in class path resource [applicationContext-security.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/providers/AuthenticationProvider
      05/02/2010 1:13:27 PM org.apache.catalina.core.StandardContext start
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
      SEVERE: Error listenerStart
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
      05/02/2010 1:13:27 PM org.apache.catalina.core.StandardContext start
      SEVERE: Context [] startup failed due to previous errors
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:355)
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:153)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1305)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
      	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
      	at org.springframework.security.config.authentication.AuthenticationManagerFactoryBean.getObject(AuthenticationManagerFactoryBean.java:27)
      	at org.springframework.security.config.authentication.AuthenticationManagerFactoryBean.getObject(AuthenticationManagerFactoryBean.java:20)
      	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:143)
      	... 41 more
      Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.atlassian.crowd.integration.springsecurity.RemoteCrowdAuthenticationProvider] for bean with name 'crowdAuthenticationProvider' defined in class path resource [applicationContext-security.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/providers/AuthenticationProvider
      	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1211)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
      	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
      	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
      	... 55 more
      Caused by: java.lang.NoClassDefFoundError: org/springframework/security/providers/AuthenticationProvider
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
      	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
      	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1850)
      	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
      	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
      	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
      	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1850)
      	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
      	at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
      	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1229)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1200)
      	... 61 more
      Caused by: java.lang.ClassNotFoundException: org.springframework.security.providers.AuthenticationProvider
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
      	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      	... 80 more
      
      

            Assignee:
            Unassigned
            Reporter:
            Steve Smith (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: