Spring security ldap:找不到元素“ldap-authentication-provider”的声明

2024-01-08

遵循 spring-security 文档:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ldap.html http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ldap.html我正在尝试设置 ldap 身份验证(非常简单 - 只需知道用户是否经过身份验证,不需要权限映射)并将其放入我的 applicationContext-security.xml 文件中

<beans:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security-3.0.xsd">      
...

<ldap-server url="ldap://adapps.company.com:389/dc=company,dc=com" />
<ldap-authentication-provider user-search-filter="(samaccountname={0})" user-search-base="dc=company,dc=com"/>

我遇到的问题是它看起来不像 ldap-authentication-provider;我觉得我可能缺少一些配置,即 bean 定义。尝试运行该应用程序时出现的错误是:

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 27 in XML document from ServletContext resource [/WEB-INF/rvaContext-security.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'ldap-authentication-provider'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    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:593)
    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:592)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'ldap-authentication-provider'.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3185)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1955)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:725)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:322)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
    ... 28 more

谁能看到我缺少什么吗?另外,这就是我需要添加到安全 bean 中以便针对 ldap 进行身份验证的全部内容吗?


在Spring Security 3.0中,<ldap-authentication-provider>(也<authentication-provider>)应该放在里面<authentication-manager>:

<authentication-manager>
    <ldap-authentication-provider user-search-filter="(samaccountname={0})" user-search-base="dc=company,dc=com"/> 
</authentication-manager>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring security ldap:找不到元素“ldap-authentication-provider”的声明 的相关文章

随机推荐

  • 测试假存储库有什么意义?

    当我在家开发时 我一直在努力让自己的心态更加面向 TDD 和一点 DDD 我不明白的一件事是为什么你要创建一个假存储库来测试 我还没有真正研究过它 但测试的想法肯定是帮助解耦你的代码 给你更多的灵活性 减少所需的代码并减少错误的数量 那么有
  • 从数据库中选择、分组和求和结果

    我有一个数据库 其中有一些我想求和的字段 但这不是大问题 我想按这些字段的创建月份对它们进行分组 ActiveRecord 自动创建一个名为 created at 的字段 所以我的问题是 如何按月对结果进行分组 然后对每个月的字段求和 更新
  • Android 应用程序中的布局充气器是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 中的 Layout Inflater 是做什么的 https stackoverflow com questions 3477422 what does layout inflater
  • 检查文件扩展名是否为图像的好方法

    我有这个文件类型过滤器 public const string Png PNG Portable Network Graphics png png public const string Jpg JPEG File Interchange
  • 为什么是“特质T”? C级; class X extends (C with T)` 无法编译?

    斯卡拉代码 trait T class C type W C with T class X extends W W是一个类型别名 但我想定义一个类来扩展它 为什么以及如何解决它 我很难以一种很好的方式构建我的答案 但这里仍然试图解释正在发生
  • Perseo fe docker 实例无法启动

    我面临以下问题 我正在尝试将 FIWARE Perseo 作为 docker 实例部署到我的 Centos 7 服务器 尽管 perseocore 实例运行没有问题 但 perseo 前端的情况却不同 它已创建但无法启动 从日志中可以清楚地
  • PHP 致命错误:调用布尔值上的成员函数 format()

    崩溃于 PHP 致命错误 调用布尔值上的成员函数 format 但对于其他日期效果很好 格式错误 这两个示例都不起作用 因为您有多个错误 您忘记了第二个参数Datet
  • 跳出范围解决方案以及不同指令如何影响范围

    我一直在与错误 jmp out of range 作斗争 很多时候我需要从代码的不同部分运行子程序 就像在 C 中运行函数一样 我发现代码的两端都需要跳转到同一个地方 但两者却无法到达那里 解决这个问题的办法是什么 我还注意到 PRINT
  • 使用自定义模式呈现处理通话状态栏

    问题 我在演示时注意到一些奇怪的行为UINavigationController 使用根视图控制器 自然已经推送 UIViewControllerAnimatedTransitioning打电话期间 如果通话状态栏已启用after当导航控制
  • 更改单个 DataGridView 列中所有单元格的填充

    我的 C 应用程序中有一个 DataGridView 使用设计器 我设置了AlternatingRowsDefaultCellStyle以及DefaultCellStyleDGV 本身的属性 这两种样式的填充值为0 0 5 0 我没有为任何
  • Three.js 使用正交相机将 2D 映射到 3D

    我有一个使用正交相机的 Three js 场景 this camera new THREE OrthographicCamera this width 2 this width 2 this height 2 this height 2 1
  • 表单中的背景颜色

    我试图为 HTML 表单标签设置背景颜色 但它不起作用 我以为这是一个简单的任务 form background color 000 padding 10px 您可以使用内联样式
  • iPhone,如何检测拍摄图像时的方向

    有什么方法可以检测拍摄图像时手机的方向吗 我在 UIView 上有一个 UIImageView 我正在使用 UIImagePicker 来拍照或从相机胶卷中选择一张照片 但是 如果图像是在横向模式下拍摄的 我想检测到这一点并调整图像视图的大
  • 异步 - 留在当前线程上?

    我读过埃里克 利珀特的article http blogs msdn com b ericlippert archive 2010 10 29 asynchronous programming in c 5 0 part two whenc
  • 设置 Vaadin 会话超时参数

    我正在使用 Vaadin 7 1 7 但我不知道如何设置session timeout参数 例如 1 分钟 据我所知 Vaadin 7 x x 不会产生web xml 它用 VaadinServletConfiguration注释 但似乎没
  • 如何使用 browserify 包含非节点模块

    我想在应用程序中使用依赖项管理 并遇到了 require js 和 browserify 我无法决定选择哪一个 这将是一个决定性因素 任何人都可以告诉我如何将定制的 javascript 模块 非节点模块 包含到我的 js 中 我发现 br
  • Android 上的自定义鼠标指针

    当使用现代版本的 Android Honeycomb 或更高版本 时 如果硬件合适 则支持显示鼠标指针 例如 在 ASUS Transformer 或 Toshiba AC100 笔记本电脑上 是否有任何 API 允许在这些设备之一上运行的
  • 如何使用 Mocha 和 Nock 重新测试相同的 URL?

    我正在使用 Mocha Chai Sinon Proxyquire 和 Nock 对于这个特定的测试场景 针对该场景提出这个问题 希望多次测试完全相同的 URL 每次都在一个单独的测试中 期望得到不同的响应 例如 没有商家 Feed 的响应
  • “漂白”文件中的这个 perl 行有什么作用?

    我有一些已被 漂白 的 perl 文件 不知道它是否来自 ACME Bleach 或类似的东西 我对 Perl 不太熟悉 我想了解启动文件的单行代码如何解码后面的空格 lt lt y r n d pack b eval die 文件的其余部
  • Spring security ldap:找不到元素“ldap-authentication-provider”的声明

    遵循 spring security 文档 http static springsource org spring security site docs 3 0 x reference ldap html http static sprin