【问题标题】:LDAP tomcat JNDIRealmLDAP tomcat JNDIRealm
【发布时间】:2017-08-12 15:22:24
【问题描述】:

我正在使用下面的 server.xml 文件来配置 tomcat 以使用 JNDIRealm 连接到 ldap 服务器。

但是我不断收到错误:

原因:javax.naming.CommunicationException: localhost:389 [根异常是 java.net.ConnectException: Connection denied: connect]

如果您看到我的连接 url 使用主机和 636 端口,我无法使用 localhost:389。那么是什么导致连接到 localhost:389。

下面是server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
 SSLEnabled="true" maxThreads="150" scheme="https" secure="true" 
 keystoreFile="keystore_key.jks" keystoreType="JKS" 
 keystorePass="xxxxx" URIEncoding="UTF-8" clientAuth="false" sslProtocol="TLS" /> 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">    
<Realm className="org.apache.catalina.realm.JNDIRealm"
            connectionURL="ldap://mycomapny.org:636" 
            userSubtree="true"
            userBase="DC=test,DC=win,DC=user,DC=org" 
            userSearch="(&amp;(sAMAccountName={0})(objectcategory=user))"
            userRoleName="memberOf" 
            roleBase="DC=test,DC=win,DC=user,DC=org" 
            roleName="cn"
            roleSearch="(member={0})" 
            roleSubtree="true" 
            roleNested="true"/>
<Host name="localhost" appBase="webapps">
            <Context docBase="spnego" path="">
                <Valve className="org.apache.catalina.authenticator.SpnegoAuthenticator"
                    storeDelegatedCredential="true" />
            </Context>
        </Host>
</Engine>
</Service>
</Server>

【问题讨论】:

  • 有人可以指导我使用 JNDIRealm 设置 ldap 的任何指南/步骤吗?
  • 您的网址拼写错误。

标签: java tomcat ssl ldap


【解决方案1】:

您是否尝试在 connectionURL 设置中指定 ldaps,即 connectionURL="ldaps://mycompany.org:636"

端口 389 用于非安全连接

【讨论】:

    猜你喜欢
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2021-12-06
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多