问题标签 [spring-ldap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 单元测试中的 Spring 嵌入式 ldap 服务器
我目前正在尝试使用嵌入式 ldap 服务器进行单元测试。
在 Spring Security 中,您可以快速定义一个嵌入式 ldap 服务器,用于使用从指定 ldif 加载的一些示例数据的标记进行测试。
我将使用 Spring Ldap 执行 ldap 操作,并考虑测试我的用户服务对象的常用 CRUD 功能。
但是,有没有一种方法可以确保嵌入式服务器中的条目对于我正在运行的每个测试都处于相同的一致状态(有点像删除所有并重新加载 ldif 条目)?
我想到了以下几点:1)表明该方法弄脏了上下文,并强制重新创建嵌入式 ldap 服务器,这听起来很痛苦,因为它必须为每种方法重新启动服务器 2)在测试组织中创建测试条目,这样我就可以取消绑定它们并简单地再次加载 ldif 文件。
我更喜欢 2,但似乎 Spring LDAP 没有很好的帮手来加载和发送 ldif 文件的内容。
关于如何使用 spring 的嵌入式 ldap 服务器或我提到的两种可能的解决方案执行 ldap 测试的任何建议?
谢谢
java - LDAP:如何跨多个组织单位搜索给定的 uid?
首先,让我先说我对使用 LDAP 完全陌生。
我正在开发一个与一些旧应用程序共享 LDAP 服务器的应用程序。
旧应用程序中的所有用户帐户都按 ID 组织到组织单元中。每个条目都有一个uid
用户电子邮件地址。
我可以通过使用以下内容来查找some@email.com
组织单位中是否存在具有电子邮件的用户: 12345
dn
ou=someGroup,ou=12345,uid=some@email.com
但是,我想做的是检查是否存在跨多个组织单位的用户。例如,我希望能够检查电子邮件是否在任意数量的组织单位中使用。(例如,检查12345
、23452
和34352
)。
在谷歌搜索之后,似乎我应该能够找到多个条目dn
,但我还没有弄清楚如何检查这种情况。
有谁知道我怎么能做这样的检查?我正在使用 Spring LDAP。
java - Spring security 2.0.5 LDAP 身份验证设置 w/Active Directory
我一直在尝试让 LDAP 身份验证与这个应用程序一起工作(apache Roller)。似乎它只是“填充正确的字段并开始”,但我仍在尝试对数据库进行身份验证(默认身份验证方法)。
我不明白是什么告诉 spring-security 使用一个身份验证管理器而不是另一个,所以这可能是首先要改变的事情。在花了两天时间阅读文档之后,没有更接近弄清楚。
java - 无法将 Spring LDAP 与 Spring Security 一起使用
我想根据我们的 AD 对用户进行身份验证,所以我知道我需要 spring security 和 spring ldap。
这是我的 POM 中的内容:
以下是我的安全上下文中的相应条目:
但是,当我使用以下命令运行我的应用程序时:
我收到以下错误:
spring - Spring Security 3.0 和 Active Directory LDAP:域\用户登录
我想让用户使用 DOMAIN\user.name 语法对 ActiveDirectory LDAP 服务器进行身份验证。我认为 SpringSec 3.0 应该可以做到这一点,因为文档提到了一种替代语法,我猜它是指 DOM\user 语法而不是绑定 DN,但文档没有进一步详细说明。
有什么方法可以将 Spring Sec 3 LDAP 配置为使用“MS 方式”还是我必须编写自己的 Authenticator 实现(例如 java.naming.directory 包,我已经测试过它能够使用 MS语法作为其 SECURITY_PRINCIPAL)?
spring - 如何配置 Spring Security PasswordComparisonAuthenticator
我可以使用以下 bean 绑定到本地机器上的嵌入式 ldap 服务器:
但是,当我尝试使用 PasswordComparisonAuthenticator 进行身份验证时,它会在凭据错误事件中反复失败:
通过调试,我可以看到 authenticate 方法从 ldif 文件中获取 DN,然后尝试比较密码,但是,它使用的是 LdapShaPasswordEncoder (默认密码),其中密码以明文形式存储在文件中,并且这是身份验证失败的地方。
这是引用首选身份验证 bean 的身份验证管理器 bean:
附带说明一下,无论我将 ldapAuthProvider 上的密码编码器设置为纯文本还是将其留空,似乎都没有区别。任何帮助将不胜感激。
谢谢
spring - 最小化 SpringLdap 依赖
我想使用 SpringLDAP 进行一些简单的用户名/密码验证以进行身份验证。虽然实际的 jar 文件非常小(小于 1 兆),但它似乎有很多依赖项,如链接文本所列。
我的意思是它似乎吸收了 50 多种看起来不正确的东西,例如 spring-jdbc,因为我不需要任何 jdbc,只需要 ldap 模板类及其裸依赖项。在不浪费太多时间的情况下,spring-ldap 可以只使用最少数量的依赖项,这些依赖项相当于:
- 弹簧芯
- 春季LDAP
- 他们需要的任何日志记录部门。
- 春天
我不明白或不明白为什么其余的凝灰岩需要重新使用,我想知道如果一个人坚持基本原则,任何人都可以验证他们最终是否真的需要。我所指的其他内容也包括:
- spring-orm // 没有 jdbc
- 豆子//我不想要ioc。
- spring-aop // 不需要 aop。
我打算连接我将手动使用的 bean。我不想要更多的废话来设置一些属性,并且想要确认当我想要的只是 ldap 的东西时,我不需要可能只是为了做 ioc 的东西。
java - spring ldap 测试 - 自定义模式?
有没有办法在使用时加载自定义 ldap 架构org.springframework.ldap.test.TestContextSourceFactoryBean
?例如单元测试?
java - Spring LDAP 1.3.0 澄清
我有这个错误,这是什么意思?
我试图做到这一点
java - Spring Ldap:查找 dn,如果不存在则不抛出异常
在 Spring LDAP 中使用LdapTemplate,我有以下代码:
但是自从我读过我的 Joshua Bloch 之后,我知道异常不应该用于控制流。有没有办法查找 dn 以查看它是否存在而不抛出异常,如果不存在?应该有,但是找不到 我正在寻找像这样(或类似)工作的代码:
有人可以帮忙吗?
顺便说一句:只看 JavaDoc 没有帮助。NameNotFoundException
JavaDocs 中没有一个抛出的方法这么说。