[英]LDAP jndi connection (java + jboss eap 6)
我對ldap以及jndi資源甚至jboss(lol)都是陌生的,我正試圖弄清楚如何使它工作。 我需要連接LDAP服務器,該服務器的配置在Jboss standalone.xml文件中定義,並且需要通過java中的jndi訪問它。
我已經在standalone.xml和external-context中定義了與LDAP的連接:
<subsystem xmlns="urn:jboss:domain:naming:1.4">
<bindings>
<external-context name="java:global/ldap" module="org.jboss.as.naming" class="javax.naming.ldap.InitialLdapContext" cache="true">
<environment>
<property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<property name="java.naming.provider.url" value="ldap://host:port"/>
<property name="java.naming.security.authentication" value="simple"/>
<property name="java.naming.security.principal" value="user"/>
<property name="java.naming.security.credentials" value="password"/>
</environment>
</external-context>
</bindings>
<remote-naming/>
</subsystem>
然后在Java中,我有以下代碼:
InitialLdapContext ctx = new InitialLdapContext();
LdapContext ldapContext = null;
ldapContext = (LdapContext) ctx.lookup("java:global/ldap"));
但是當執行查詢時,出現以下錯誤:
java.lang.NoSuchMethodException: javax.naming.ldap.InitialLdapContext.<init>(java.util.Hashtable)
我已經嘗試了許多不同的示例,但是我什么都做不了...
提前致謝。
最后,我使用InitialDirContext作為外部上下文的類,以這種方式解決了它。
standalone.xml :
<subsystem xmlns="urn:jboss:domain:naming:1.4">
<bindings>
<external-context name="java:global/ldap" module="org.jboss.as.naming" class="javax.naming.directory.InitialDirContext" cache="true">
<environment>
<property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<property name="java.naming.provider.url" value="ldap://host:port"/>
<property name="java.naming.security.authentication" value="simple"/>
<property name="java.naming.security.principal" value="user"/>
<property name="java.naming.security.credentials" value="password"/>
</environment>
</external-context>
</bindings>
<remote-naming/>
</subsystem>
在java中 :
InitialDirContext ldapContext = new InitialDirContext();
ldapContext = (InitialDirContext) new InitialContext().lookup("java:global/ldap");
我正確地了解了上下文,希望這可以對其他人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.