Spring security 创建名为org.springframework.security.saml.metadata.ExtendedMetadataDelegate的bean时出错:无法解析匹配的构造函数

Spring security 创建名为org.springframework.security.saml.metadata.ExtendedMetadataDelegate的bean时出错:无法解析匹配的构造函数,spring-security,jboss7.x,spring-saml,Spring Security,Jboss7.x,Spring Saml,我必须为客户集成Shibboleth SP身份验证,并且需要将其与JBoss AS 7上的J2EE应用程序(JSF2、EJB3、JPA2)集成 我正在使用以下库: spring-security-core-3.2.5和依赖项 spring-security-saml2-core-1.0.0和依赖项 spring框架4.1.3 目前有一个bean实现了用于身份验证和授权的JdbcDaoImpl。我已经成功地部署了SpringSAML示例应用程序,但无法将其集成到我的应用程序中。我在部署期间收到一个

我必须为客户集成Shibboleth SP身份验证,并且需要将其与JBoss AS 7上的J2EE应用程序(JSF2、EJB3、JPA2)集成
我正在使用以下库:

  • spring-security-core-3.2.5和依赖项
  • spring-security-saml2-core-1.0.0和依赖项
  • spring框架4.1.3
  • 目前有一个bean实现了用于身份验证和授权的JdbcDaoImpl。我已经成功地部署了SpringSAML示例应用程序,但无法将其集成到我的应用程序中。我在部署期间收到一个异常,它似乎无法构造ExtendedMetadataDelegate bean,其定义如下:

    
    https://customer/Metadata/Metadata.xml
    15000
    
    堆栈跟踪:

    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': Cannot resolve reference to bean 'metadataGeneratorFilter' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metadataGeneratorFilter' defined in ServletContext resource [/WEB-INF/security-app-context.xml]: Cannot create inner bean 'org.springframework.security.saml.metadata.MetadataGenerator#115824e4' of type [org.springframework.security.saml.metadata.MetadataGenerator] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.saml.metadata.MetadataGenerator#115824e4': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.saml.metadata.MetadataGenerator.setSamlWebSSOFilter(org.springframework.security.saml.SAMLProcessingFilter); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'samlWebSSOProcessingFilter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.saml.SAMLProcessingFilter.setContextProvider(org.springframework.security.saml.context.SAMLContextProvider); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contextProvider': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.saml.context.SAMLContextProviderImpl.setMetadata(org.springframework.security.saml.metadata.MetadataManager); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metadata' defined in ServletContext resource [/WEB-INF/security-app-context.xml]: Cannot create inner bean 'org.springframework.security.saml.metadata.ExtendedMetadataDelegate#7a0347fc' of type [org.springframework.security.saml.metadata.ExtendedMetadataDelegate] while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.saml.metadata.ExtendedMetadataDelegate#7a0347fc' defined in ServletContext resource [/WEB-INF/security-app-context.xml]: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:382) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:637) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1131) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1034) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) [spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] ... 25 more 原因:org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.security.web.DefaultSecurityFilterChain#0”的bean时出错:使用键[0]设置构造函数参数时无法解析对bean“metadataGeneratorFilter”的引用;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“metadataGeneratorFilter”的bean时出错,该bean在ServletContext资源[/WEB-INF/security app context.xml]中定义:无法创建类型为“org.springframework.security.saml.metadata.MetadataGenerator”的内部bean[org.springframework.security.saml.metadata.MetadataGenerator]设置构造函数参数时;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.security.saml.metadata.MetadataGenerator”的bean时出错?#115824e4”:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法创建utowire方法:public void org.springframework.security.saml.metadata.MetadataGenerator.setSamlWebSSOFilter(org.springframework.security.saml.SAMLProcessingFilter);嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“samlWebSSOProcessingFilter”的bean时出错:自动关联依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动关联方法:public void org.springframework.security.saml.SAMLProcessingFisetContextProvider(org.springframework.security.saml.context.SAMLContextProvider);嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“contextProvider”的bean时出错:自动关联依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动关联方法:public void org.springframework.security.saml.context.SAMLContextProviderImpl.setMetadata(org.springframework.security.saml.metadata.MetadataManager);嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“metadata”的bean时出错,该bean在ServletContext资源[/WEB-INF/security app context.xml]中定义:使用键[0]设置构造函数参数时,无法创建[org.springframework.security.saml.saml.metadata.ExtendedMetadataDelegate#7a0347fc]类型的内部bean“org.springframework.security.saml.metadata.ExtendedMetadataDelegate”;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.security.saml.metadata.ExtendedMetadataDelegate”#7a0347fc(在ServletContext资源[/WEB-INF/security app context.xml]中定义)的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义) 位于org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolverence(BeanDefinitionValueResolver.java:359)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 在org.springframework.beans.factory.support.BeanDefinitionValueResolver.ResolveValueIfNeeded(BeanDefinitionValueResolver.java:108)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 位于org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:382)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 在org.springframework.beans.factory.support.beandDefinitionValueResolver.ResolveValueIfNeeded(beandDefinitionValueResolver.java:157)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 位于org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:637)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 在org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1131)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1034)[spring-beans-4.1.3.RELEASE.jar:4.1.3.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFa