Eclipse 使用ldap服务器的Spring安全自定义登录
我正在尝试使用spring security和ldap进行自定义登录验证。但我的配置文件中出现以下错误。我不知道确切的问题是什么。请帮助我Eclipse 使用ldap服务器的Spring安全自定义登录,eclipse,spring,spring-security,ldap,Eclipse,Spring,Spring Security,Ldap,我正在尝试使用spring security和ldap进行自定义登录验证。但我的配置文件中出现以下错误。我不知道确切的问题是什么。请帮助我 **springsecurity.xml** <security:http auto-config="true"> <security:intercept-url pattern="/main*" access="IS_AUTHENTICATED_ANONYMOUSLY" /> <security:form-login logi
**springsecurity.xml**
<security:http auto-config="true">
<security:intercept-url pattern="/main*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:form-login login-page="/login" default-target-url="/main"
authentication-failure-url="/loginError"/>
</security:http>
<security:authentication-manager>
<security:authentication-provider ref="ldapActiveDirectoryAuthProvider" />
</security:authentication-manager>
<beans:bean id="ldapActiveDirectoryAuthProvider" class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<beans:constructor-arg value="xyz.com" />
<beans:constructor-arg value="ldap://xyz.com/"/>
**springsecurity.xml**
错误:org.springframework.web.context.ContextLoader-context
初始化失败
org.springframework.beans.factory.BeanCreationException:错误
创建名为的bean
“org.springframework.security.authentication.ProviderManager#0”:
无法创建类型为“”的内部bean“”
[org.springframework.security.config.authentication.AuthenticationManagerFactoryBean]
设置bean属性“parent”时;嵌套异常是
org.springframework.beans.factory.BeanCreationException:错误
正在创建名为“(内部bean)”的bean:FactoryBean在
对象创建;嵌套异常是
org.springframework.beans.factory.BeanCreationException:错误
创建名为的bean
“org.springframework.security.authenticationManager”:无法解析
设置bean时对bean“ldapActiveDirectoryAuthProvider”的引用
键为[0]的属性“提供者”;嵌套异常是
org.springframework.beans.factory.BeanCreationException:错误
正在创建名为“ldapActiveDirectoryAuthProvider”的bean,该名称在中定义
ServletContext资源[/WEB-INF/spring/root-context.xml]:解析
bean类上声明的构造函数的数目
[org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider]
从类加载器[WebappClassLoader上下文:/pack委托:false
存储库:
/WEB-INF/课程/
---------->父类加载器:org.apache.catalina.loader。StandardClassLoader@19189e1]失败;
嵌套异常为java.lang.NoClassDefFoundError:
org/springframework/security/core/authority/mapping/GrantedAuthoritiesMapper
在
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281)
在
org.springframework.beans.factory.support.BeanDefinitionValueResolver.ResolveValueIfNeeded(BeanDefinitionValueResolver.java:125)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
在
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: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.PreInstanceSingleton(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:385)
在
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
在
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
在
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
在
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
在
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
在
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
在
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
在java.util.concurrent.FutureTask.run(FutureTask.java:138)中
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
在
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
运行(Thread.java:619)
你读到错误了吗?您有一个
NoClassDefFoundError
。检查您的webapp的WEB-INF/lib
目录中是否有Spring Security JAR(版本号相同),并且没有其他版本。您是正确的,现在可以正常工作了,谢谢@LukeTaylor