1

我使用 LDAP 对我的应用程序上的用户进行身份验证。

<cftry>
    <cfldap action="query"
      name      ="qryAuth"
      attributes="cn,displayname,mail"
      start     ="DC=corp,DC=com"
      server    ="#LDAPserver#"
      filter    = "(cn=#arguments.EID#)"
      username  ="corp\#arguments.EID#"
      password  ="#arguments.password#">

    <cfset this.addlog(arguments.EID, "Success on #LDAPserver#")>
    <cfreturn true>

    <cfcatch>

        <cfset this.addlog(arguments.EID, "#cfcatch.message# on #LDAPserver#")>

        <cfif cfcatch.message CONTAINS "error code 49">

错误代码 49 是用户输入错误密码时。每次运行时都会记录一个错误。有没有办法在不使用 try/catch 的情况下通过 LDAP 检查密码?

4

1 回答 1

0

编写一个预解析插件,在服务器执行操作之前执行 BIND,并设置一个众所周知的条件,指示他 BIND 将失败。专业品质的 LDAP 服务器提供开箱即用的描述功能。

于 2013-10-11T10:19:01.787 回答