我使用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是用户输入错误密码的时间。每次运行时都会记录一个错误。有没有办法通过LDAP检查密码而不使用try / catch?
答案 0 :(得分:0)
编写一个预解析插件,在服务器执行操作之前执行BIND,并设置一个众所周知的条件,表明BIND将失败。专业品质的LDAP服务器提供开箱即用的描述功能。