- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图实现一个程序来对 LDAP 进行 JNDI 查找。我看到 Apache 有开源 LDAP 即:apacheds-2.0.0-M20
下面是我写的程序:
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
import javax.naming.directory.InitialDirContext;
class JndiLDAPLookup {
public static void main(String[] args) throws Exception {
Context ctx = null;
Object obj = null;
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=admin,ou=system");
env.put(Context.SECURITY_CREDENTIALS,"secret");
env.put(Context.PROVIDER_URL,"ldap://127.0.0.1:10389");
ctx = new InitialDirContext(env);
obj = ctx.lookup("uid=admin,ou=system");
System.out.println("Connection Successful.");
} catch(NamingException nex){
System.out.println("LDAP Connection: FAILED");
nex.printStackTrace();
}
}
}
上述程序成功运行,但我有一些疑问。
服务提供者是 LDAP --> apacheds-2.0.0-M20(目录服务)。
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
这是否告诉使用“com.sun.jndi.ldap.LdapCtxFactory”作为 LDAP SPI 服务 API?
如果这是正确的,那么 LDAP SPI 服务不是应该由 Apache 本身提供吗,因为我使用了 Apache 的 LDAP?
“com.sun.jndi.ldap.LdapCtxFactory”如何与 Apache DS 配合使用? “com.sun.jndi.ldap.LdapCtxFactory”是 Sun/Oracle 的实现。这是否意味着任何 SPI 都可以与任何供应商的服务提供商合作(在本例中服务提供商来自 Apache)?
最佳答案
The service provider is LDAP --> apacheds-2.0.0-M20 (directory service).
没有。服务提供者是 JNDI LDAP SPI。 LDAP 服务器是 ApacheDS。
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
Does this tell to use "com.sun.jndi.ldap.LdapCtxFactory" as the LDAP SPI service API?
是的。
- If this is correct, then isn't LDAP SPI service supposed to be provided by the Apache itself, because I have used the LDAP from Apache?
没有。 Apache 正在提供 LDAP 服务器的实现。 JNDI LDAP SPI 是一个客户端。
- How "com.sun.jndi.ldap.LdapCtxFactory" is working with Apache DS?
因为它们都使用 LDAP 有线协议(protocol)。
"com.sun.jndi.ldap.LdapCtxFactory" is the implementation from Sun/Oracle.
它是 LDAP 客户端的实现。
Does this mean that any SPI works with any vendor's service provider (in this case the service provider is from Apache)?
在此场景中,Apache 不是服务提供商。它是 LDAP 服务器。你的术语很困惑。
以上所有内容意味着任何 LDAP 客户端都可以与任何 LDAP 服务器配合使用,这是任何协议(protocol)定义的要点。
关于java - LDAP 的 JNDI SPI 提供程序 (Apache DS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691859/
我想使用两个适配器,具体取决于路线。目前我有以下商店: if (window.USE_FIXTURES) { var my_adapter = 'DS.FixtureAdapter'; } else
Joomla 3.0 DS 不工作。它已被删除。我明白了 Notice: Use of undefined constant DS - assumed 'DS' in 我该如何解决这个问题? Simi
我正在尝试通过一键单击事件从 2 个不同的表中提取数据。我已经检查了所有内容,似乎没有任何拼写错误或任何其他内容,但不断收到此错误。 下面是我的按钮点击事件的代码 Protected Sub btnF
我希望预先填充定制库组件中的选定值,以便执行编辑功能。我尝试了所有可能的方法,但不知道该组件的任何预定义属性可以帮助我实现这一点。该HTML代码如下所示。。.TS代码。选定ID的JSON数据。Avai
目前我正在学习 x86 汇编,因为我喜欢微 Controller 编程,所以我对汇编很熟悉。 目前我一直在到处寻找这个问题的答案,但似乎找不到它...... DS寄存器,我知道它应该指向我程序中的全局
在 bundle 启动和停止时按什么顺序调用带注释的方法? 我使用aQute.bnd.annotation的注释。 有这方面的文档吗? 我的猜测是: bundle 启动时: 设置A onStartUp
我正在尝试让我之前在 Windows 上编写的一些 Python 代码在我的 DS 上运行。我正在使用 ( DSPython ),当我尝试导入数学时,失败并显示“ImportError: No mod
我对 XML 文件进行数字签名,但需要签名标签包含命名空间前缀“ds”。我在谷歌上进行了大量研究,发现了很多相同的问题,但没有令人满意的答案。 我试图将“ds”手动放入文件中,但签名无效。标签“Sig
本文分享自华为云社区《GaussDB(DWS) 《DWS之TPCD-DS&TPC-H与查询性能的那些事儿》》,作者: 一剑战八荒 。 1 综述 本文目标在于,详细讲述使用GaussDB(DWS)时,如
据我所知,在 DS 上运行的代码必须加载到 RAM 中,从而从已经受到限制的 4M 中获取。有没有办法直接从图像运行 DS 代码? 最佳答案 简短的回答:没有。 Nintendo DS 的内存映射不包
我正在尝试覆盖 DS 以在我的 Windows 开发机器中使用“/”而不是“\”。原因是在某些 javascript 上,它使用 cake 的 DS 进行一些 ajax 调用。 例如: var dat
我只是汇编语言的初学者,可能有一些愚蠢的问题。这两行有什么区别? 3e 8b 06 mov eax,DWORD PTR ds:[esi] 8b 06 mov eax,DWORD PTR [esi
我需要在同一云服务中创建两个 DS 虚拟机。在现有门户中,这非常容易,但是在预览门户中,创建虚拟机时似乎没有设置云服务的选项。 问题是现有门户无法创建 DS 虚拟机或具有高级存储的虚拟机。虽然预览门户
0040103A CALL DWORD PTR DS:[40207A] USER32.MessageBoxA DS: 是什么意思? 最佳答案 该指令正在从内存 ds:
这个问题在这里已经有了答案: Scheduler is not scheduling Pod for DaemonSet in Master node (1 个回答) 关闭 4 年前。 我正在运行一
我反汇编了某些二进制文件(Linux elf)。 我找到了这个代码: movsl %ds:(%esi),%es:(%edi) 有两个寄存器“ds”和“es”。 我知道这些被命名为“段寄存器”。 但是,
我正在研究内核开发。我有一个引导加载程序,可以将二进制文件加载到内存并运行它。二进制文件由C语言生成,构建过程如下: i686-elf-gcc -c main.c -o main.o -std=gnu
考虑这种情况: 在完全基于 OSGi 并大量采用服务层 SOA 概念的网络管理系统中,决定将 NE 管理模块转换为 DS 组件。 在跟踪网络资源的配置子代理角色中有一个 DS 组件,在适当的时候,它会
我需要的是每次当某些消费者需要此服务时 + 使用 CDI 时获取新的服务实例。我已经阅读了很多文章,但找不到 2 个问题的答案。 如果我们使用工厂,为什么在服务消费者中我们调用工厂 ( http://
我在 postgres 和对称 ds 的默认配置中使用对称 ds。 我总是收到以下错误。 2017-12-20 09:59:53,372 INFO [SymmetricLauncher] [Wrap
我是一名优秀的程序员,十分优秀!