Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-1815

Please add support for SpringSecurity 3.0

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      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
      
      

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: