cflogin documentation really sucks
I think the cflogin documentation really sucks because Coldfusion is so easy and so flexible.
That is, there are so many cool things you can do once a user is authenticated that Adobe has failed to provide a very simple example.
<cfset authUserFail = false>
<cflogin>
<cfif isDefined("cflogin") and len(cflogin.name) and len(cflogin.password)>
<cfldap server="ldap"
action="query" attributes="dn"
filter="(uid=#cflogin.name#)"
start=""
name="findUser">
<cfif findUser.recordCount>
<cftry>
<cfldap server="ldap" action="query" attributes="n"
filter="(uid=#cflogin.name#)" start=""
username="#findUser.dn#" password="#cflogin.password#" name="authUser">
<cfcatch>
<cfset authUserFail = true>
</cfcatch>
</cftry>
<cfif not authUserFail and authUser.recordCount eq 1>
<cfloginuser name="#cflogin.name#" password="#cflogin.password#" roles="">
<cfset session.user = cflogin.name>
<cfelse>
<cfset request.infoWarningsErrors.addError('authUserFail','Authentication failed')>
<cfinclude template="dsp_login.cfm">
</cfif>
<cfelse>
<cfset request.infoWarningsErrors.addError('findUserFail','Authentication failed')>
<cfinclude template="dsp_login.cfm">
</cfif>
<cfelseif isDefined("cflogin") and (not len(cflogin.name) and not len(cflogin.password))>
<cfset request.infoWarningsErrors.addError('noblanks','Please enter username and password')>
</cfif>
</cflogin>
<cfif len(getAuthUser()) and (not structKeyExists(session,"user")>
<cfldap server="ldap" action="query" attributes=""
filter="(uid=#getAuthUser()#)" start="" name="refreshUser">
<cfif refreshUser.recordCount eq 1>
<cfset session.user = getAuthUser()>
DO SOME CLEVER SESSION.USER STUFF HERE
</cfif>
</cfif>
<cflog file="lostsession" text="#getAuthUser()#, #isDefined('cflogin')#, #yesNoFormat(authUserFail)#, #isDefined('authUser')#, #isDefined('refreshUser')#">
</cfif>
