2

我正在使用cfldap(ColdFusion 2016) 连接到 LDAP 服务器,但服务器以LDAPS://. ColdFusion 抛出一个错误,它是一个无效的名称。当我尝试不使用 连接时LDAPS,它会抛出“执行查询时发生错误。下面是我正在使用的完整标签。

<cftry>
     <cfldap server="#servername#" 
             username="#username#"
             password="#password#"
             port="636" action="query"
             name="qryName"
             start="#start#"
             attributes="#attributes#"
             filter="#filter#"
             scope="SUBTREE"
             secure="cfssl_basic">

    <cfcatch type="any">
          <cfdump var="#cfcatch#">
    </cfcatch>

</cftry>

有什么遗漏吗?

4

2 回答 2

4

您可能需要导入 ldap 服务器的证书,或者如果它是 Active Directory,则将域的 CA 证书导入 java 密钥库。

https://helpx.adobe.com/coldfusion/kb/import-certificates-certificate-stores-coldfusion.html

此外,这是一个通过 Active Directory 进行身份验证的示例操作系统。

cfldap(
    server = "ServerName",
    port = 636,
    action = "QUERY",
    name = "qLDAPLookup",
    secure = "CFSSL_BASIC",
    username = "MYDOMAIN\#arguments.username#",
    password = arguments.password,
    start = "dc=MYDOMAIN,dc=MYTLD",
    attributes = "cn,userPrincipalName,title,mail",
    timeout = "10",
    filter = "(sAMAccountName=#arguments.username#)"
);

if (qLDAPLookup.recordCount) {
    userAuthenticated = true;
}
于 2017-11-13T13:33:18.067 回答
0

#start# 后缺少双引号。不确定这是否在您的实际代码中。

于 2017-11-12T20:54:33.060 回答