问题标签 [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.
directory - 什么是用于存储用户及其成员资格的好的 Ldap ObjectClass
我正在尝试为我们的用户和组创建一个 Ldap 模式(使用 ApacheDS,但这不重要)
目前我有这样的东西
现在的问题是我正在尝试连接一个门户以使用此架构进行身份验证/组成员身份。
门户希望“用户”“知道”它所属的组(这可能更有效)
所以我需要有类似的东西
但是 inetOrgPerson 不允许任何类型的 memberOf 属性....所以我的问题是:
我可以使用什么样的 Ldap Object 类来代替允许 memberof 属性的 inetOrgPerson。
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
ldap - ApacheDS 1.5.7 - SASL 配置
我目前尝试设置一个 ApacheDS 实例来测试 SASL 机制。
有没有人设法让 ApacheDS 中的 SASL 工作?
我正在寻找 ApacheDS 1.5.7 的工作设置说明,并确认这在实践中有效......
java - 从 Ldap 数据库(ApacheDs)获取 SHA 密码值
我有一个 ldap 数据库。我正在使用 inetorgPerson 对象类。在这个类中有 userPassword 属性。userPassword 值是 SHA crypt。我正在使用 javax.naming.directory 包来获取 userPassword 值。但是返回值与 SHA 密码值不同。我怎样才能得到正确的价值?一个简单的代码是:
ldap - 无法让 ApacheDS 加载示例数据文件
在 ApacheDS 中,我正在尝试加载以 ldif 格式提供的示例 LDAP 数据,并在此处提供说明。
我遵循了与加载上下文记录相同的模式,方法是在 server.xml 中为分区指定一个 ldif 文件(方向,虽然很糟糕,位于此处)。
所以我有...
SevenSeasRoot.ldif 文件似乎已正确加载,因为我可以在 LdapBrowser 中看到它的条目。但它下面没有任何记录。
我究竟做错了什么?如何配置 server.xml 以加载 SevenSeas 的子记录?
ldap - LDAP:错误代码 49 - 无法绑定 principalDn
我是 ApacheDS 的新手。我刚刚在 ApcheDS 中创建了一个新分区。当我尝试注册我的连接工厂时,出现上述错误..(使用 OracleAQ )
我的代码是;
我的 LDIF 文件看起来像;
我的连接参数有什么问题?任何帮助将不胜感激?
谢谢,
ldap - 在 LDAP 中查找队列时,JNDI 查找会给出“NullPointerException”
我已经成功注册并从 LDAP 服务器检索了连接工厂对象。但是当我尝试从 LDAP 服务器查找队列时,它给出了 NPE。我将 OracleAQ 与 ApacheDS 一起使用。
我的代码是;
我对队列的 LDIF 定义是;
对此有任何线索吗?完整的错误堆栈是;
谢谢,-拉萨
ldap - 在 Java 中模拟 LDAP (APacheDS) 中的用户
我正在使用 Java 中的 LDAP (ApacheDS),我想知道是否可以使用系统帐户模拟用户。更具体地说,我在 LDAP 目录中有不同的组,我需要允许用户修改组下的条目,但只能修改该特定用户所属的组。例如,如果有以下组:
o=极致
该组的管理员:
cn=admin,o=acme
我想使用系统帐户凭据模拟管理员用户,并允许他们仅在 acme 组中进行更改。
由于以上内容不够清楚,我将详细说明:
假设用户 A 登录。他是 ou=Group A 的管理员。如果在登录后的某个时间,他执行需要连接到 LDAP 的操作,这意味着他的凭据应该存储在会话中以允许他连接。我想避免这种情况,并使用系统/其他管理员帐户模拟用户 A,而无需用户 A 密码。
先感谢您。
java - LDAP 中基于角色的安全实施
我正在研究 LDAP 和 Java 中基于角色的安全实现。具体来说,我需要在 LDAP 中表示以下对象:
- 用户
- 企业用户组 - 人力资源、财务等。
- 权限 - DOCUMENT_READ、DOCUMENT_MODIFY 等。
- 角色 - 管理员、访客等。
角色基本上是权限组,可以分配给一个用户或一组用户。
我正在考虑在 LDAP 中将它们表示为如下所示:
- 用户 - 具有 userPassword 属性的 Person 和 uidObject 类。
- 用户组 - 用户所在的组织单元类。
- 角色 - groupOfNames 对象类。
- 权限 - 不确定这个,也许还有 groupOfNames 类。
这个想法是让用户或组快速访问该用户或组拥有的角色列表。我知道我可以将用户和组放在角色的“成员”属性中,但是我必须扫描所有角色以查找列出了该用户的角色。有没有办法在 Person 对象中拥有类似“member”属性的东西?
一般来说,有人知道 LDAP 中基于角色的良好安全实现吗?我找不到关于这个主题的好的文档或教程。我目前使用 ApacheDS 作为 LDAP 服务器,但我愿意接受建议。