问题标签 [apacheds]

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.

0 投票
2 回答
2561 浏览

directory - 什么是用于存储用户及其成员资格的好的 Ldap ObjectClass

我正在尝试为我们的用户和组创建一个 Ldap 模式(使用 ApacheDS,但这不重要)

目前我有这样的东西

现在的问题是我正在尝试连接一个门户以使用此架构进行身份验证/组成员身份。

门户希望“用户”“知道”它所属的组(这可能更有效)

所以我需要有类似的东西

但是 inetOrgPerson 不允许任何类型的 memberOf 属性....所以我的问题是:

我可以使用什么样的 Ldap Object 类来代替允许 memberof 属性的 inetOrgPerson。

0 投票
1 回答
3032 浏览

ldap - StartTls, ApacheDS 问题

我一直在努力让 Start Tls 为我的 ldap 服务器工作。我在 spring 上下文文件中配置了密钥库和密码。我的配置似乎适用于 SSL,但 Star Tls 引起了鸡皮疙瘩。我在我的 LDAP 服务器的包装器中添加了 StarTlsHandler 作为 ExtendedOperationHandler。我是否还需要配置其他任何东西。

我正在使用 JDK 1.6.0_15

密钥库和密码目前是硬编码的,当我使用 SSL 或调试时它们看起来还可以。

我正在使用 JLdap Client 来测试我的实现。

这是我为 Handler 添加的代码片段: ldapServer.setKeystoreFile("C:/jdk/dgekey.ks"); ldapServer.setCertificatePassword("secret"); ldapServer.addExtendedOperationHandler(new StartTlsHandler());

您可以在下面看到服务器端的堆栈跟踪,客户端跟踪进一步向下:

2011-05-10 12:51:29,345 [rThread-4861-21] 调试 [org.apache.directory.server.ldap.handlers.extended.StartTlsHandler] 设置 LDAP 服务 2011-05-10 12:51:29,345 [rThread -4861-21] 调试 [org.apache.directory.server.ldap.handlers.extended.StartTlsHandler] 提供程序 = SUN 版本 1.6 2011-05-10 12:58:31,029 [rThread-4861-21] 错误 [org.apache .directory.server.core.security.CoreKeyStoreSpi] ERR_68 尝试提取密钥失败。java.lang.IllegalStateException:ERR_436 用于主体的名称必须规范化!在 org.apache.directory.server.core.LdapPrincipal.(LdapPrincipal.java:76) 在 org.apache.directory.server.core.security.CoreKeyStoreSpi.getTlsEntry(CoreKeyStoreSpi.java:84) 在 org.apache.directory。 server.core.security.CoreKeyStoreSpi.engineGetKey(CoreKeyStoreSpi.java:231) 在 java.security.KeyStore.getKey(KeyStore.java:

****通过 javax.net.debug=all 进行客户端跟踪;****

keyStore 是:C:/jdk/cacerts keyStore 类型是:jks keyStore 提供者是:init keystore init keymanager of type SunX509 trustStore 是:C:\jdk\cacerts trustStore 类型是:jks trustStore provider 是:init truststore 添加为受信任的证书:主题:CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH 发行人:CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH 算法:RSA;序列号:0x4eb200670c035d4f 有效期从 2006 年 10 月 25 日星期三 10:36:00 CEST 到 2036 年 10 月 25 日星期六 10:36:00 CEST

触发 SecureRandom 播种完成播种 SecureRandom %% 没有缓存的客户端会话 *** ClientHello, TLSv1 RandomCookie: GMT: 1288255192 bytes = { 100, 146, 27, 29, 47, 10, 97, 247, 253, 145, 49, 147 ,239,157,90,4,34,15,99,243,191,156,251,25,64,42,210,231}会话ID:{}密码套件:[SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]压缩方法:{0}


[写入] MD5 和 SHA1 哈希:len = 73 0000: 01 00 00 45 03 01 4D C9 37 D8 64 92 1B 1D 2F 0A ...E..M.7.d.../。0010:61 F7 FD 91 31 93 EF 9D 5A 04 22 0F 63 F3 BF 9C a...1...Z.".c... 0020:FB 19 40 2A D2 E7 00 00 1E 00 04 00 05 00 2F 00 ..@........../. 0030:33 00 32 00 0A 00 16 00 13 00 09 00 15 00 12 00 3.2 ...... 0040:03 00 08 00 14 00 11 01 00 ...... .. main, WRITE: TLSv1 Handshake, length = 73 [write] MD5 and SHA1 hashes: len = 98 0000: 01 03 01 00 39 00 00 00 20 00 00 04 01 00 80 00 ....9.... ...... 0010: 00 05 00 00 2F 00 00 33 00 00 32 00 00 0A 07 00 ..../..3..2...... 0020: C0 00 00 16 00 00 13 00 00 09 06 00 40 00 00 15 ....@... 0030: 00 00 12 00 00 03 02 00 80 00 00 08 00 00 14 00 .... ........ 0040: 00 11 4D C9 37 D8 64 92 1B 1D 2F 0A 61 F7 FD 91 ..M.7.d.../.a... 0050: 31 93 EF 9D 5A 04 22 0F 63 F3 BF 9C FB 19 40 2A 1...Z.".c.....@ 0060: D2 E7 .. main, WRITE: SSLv2 client hello message, length = 98 main, READ: TLSv1 Alert, length = 2 main, RECV TLSv1 ALERT: fatal, handshake_failure main, call closeSocket() main, 处理异常: javax. net.ssl.SSLHandshakeException:收到致命警报:handshake_failure 错误:LDAPException:无法协商安全连接 (91) 连接错误 javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure

0 投票
2 回答
752 浏览

ldap - ApacheDS 1.5.7 - SASL 配置

我目前尝试设置一个 ApacheDS 实例来测试 SASL 机制。

有没有人设法让 ApacheDS 中的 SASL 工作?

我正在寻找 ApacheDS 1.5.7 的工作设置说明,并确认这在实践中有效......

0 投票
2 回答
3361 浏览

java - 从 Ldap 数据库(ApacheDs)获取 SHA 密码值

我有一个 ldap 数据库。我正在使用 inetorgPerson 对象类。在这个类中有 userPassword 属性。userPassword 值是 SHA crypt。我正在使用 javax.naming.directory 包来获取 userPassword 值。但是返回值与 SHA 密码值不同。我怎样才能得到正确的价值?一个简单的代码是:

0 投票
3 回答
1758 浏览

java - 我可以使用 ApacheDS 之类的 LDAP 服务器作为桌面应用程序的持久性解决方案吗?

一个家伙建议我使用 ApacheDS 作为我的数据库(MySQL)的替代品,你可以在这里找到讨论 我对 LDAP 和 ApacheDS 完全陌生(实际上我昨天不知道),我搜索了它并阅读了一些文章,最后我得到了这个页面

将 LDAP 视为一种网络协议(如果是的话)是否有可能使用 ApacheDS 之类的 LDAP 服务器作为桌面应用程序的持久性解决方案,或者是一个明智的选择?

LDAP 不需要应用程序服务器(如 tomcat)来运行吗?可以请你点亮我吗:) thnx

0 投票
1 回答
1157 浏览

ldap - 无法让 ApacheDS 加载示例数据文件

在 ApacheDS 中,我正在尝试加载以 ldif 格式提供的示例 LDAP 数据,并在此处提供说明

我遵循了与加载上下文记录相同的模式,方法是在 server.xml 中为分区指定一个 ldif 文件(方向,虽然很糟糕,位于此处)。

所以我有...

SevenSeasRoot.ldif 文件似乎已正确加载,因为我可以在 LdapBrowser 中看到它的条目。但它下面没有任何记录。

我究竟做错了什么?如何配置 server.xml 以加载 SevenSeas 的子记录?

0 投票
2 回答
7008 浏览

ldap - LDAP:错误代码 49 - 无法绑定 principalDn

我是 ApacheDS 的新手。我刚刚在 ApcheDS 中创建了一个新分区。当我尝试注册我的连接工厂时,出现上述错误..(使用 OracleAQ )

我的代码是;

我的 LDIF 文件看起来像;

我的连接参数有什么问题?任何帮助将不胜感激?

谢谢,

0 投票
0 回答
1270 浏览

ldap - 在 LDAP 中查找队列时,JNDI 查找会给出“NullPointerException”

我已经成功注册并从 LDAP 服务器检索了连接工厂对象。但是当我尝试从 LDAP 服务器查找队列时,它给出了 NPE。我将 OracleAQ 与 ApacheDS 一起使用。

我的代码是;

我对队列的 LDIF 定义是;

对此有任何线索吗?完整的错误堆栈是;

谢谢,-拉萨

0 投票
1 回答
785 浏览

ldap - 在 Java 中模拟 LDAP (APacheDS) 中的用户

我正在使用 Java 中的 LDAP (ApacheDS),我想知道是否可以使用系统帐户模拟用户。更具体地说,我在 LDAP 目录中有不同的组,我需要允许用户修改组下的条目,但只能修改该特定用户所属的组。例如,如果有以下组:

o=极致

该组的管理员:

cn=admin,o=acme

我想使用系统帐户凭据模拟管理员用户,并允许他们仅在 acme 组中进行更改。

由于以上内容不够清楚,我将详细说明:

假设用户 A 登录。他是 ou=Group A 的管理员。如果在登录后的某个时间,他执行需要连接到 LDAP 的操作,这意味着他的凭据应该存储在会话中以允许他连接。我想避免这种情况,并使用系统/其他管理员帐户模拟用户 A,而无需用户 A 密码。

先感谢您。

0 投票
3 回答
12081 浏览

java - LDAP 中基于角色的安全实施

我正在研究 LDAP 和 Java 中基于角色的安全实现。具体来说,我需要在 LDAP 中表示以下对象:

  • 用户
  • 企业用户组 - 人力资源、财务等。
  • 权限 - DOCUMENT_READ、DOCUMENT_MODIFY 等。
  • 角色 - 管理员、访客等。

角色基本上是权限组,可以分配给一个用户或一组用户。

我正在考虑在 LDAP 中将它们表示为如下所示:

  • 用户 - 具有 userPassword 属性的 Person 和 uidObject 类。
  • 用户组 - 用户所在的组织单元类。
  • 角色 - groupOfNames 对象类。
  • 权限 - 不确定这个,也许还有 groupOfNames 类。

这个想法是让用户或组快速访问该用户或组拥有的角色列表。我知道我可以将用户和组放在角色的“成员”属性中,但是我必须扫描所有角色以查找列出了该用户的角色。有没有办法在 Person 对象中拥有类似“member”属性的东西?

一般来说,有人知道 LDAP 中基于角色的良好安全实现吗?我找不到关于这个主题的好的文档或教程。我目前使用 ApacheDS 作为 LDAP 服务器,但我愿意接受建议。