Thank you.
I have tried that before but got a different error. I am trying to see
now if all the permissions are set up properly.
This is the error:
An error has occurred while trying to execute query :[LDAP: error code
1 - 00000000: LdapErr: DSID-0C0905FF, comment: In order to perform
this operation a successful bind must be completed on the connection.,
data 0, vece].
One or more of the required attributes may be missing/incorrect or you
do not have permissions to execute this operation on the server
I suspect that I don't have the permissions to execute it.
Thanks
Victor
On Fri, 28 Jan 2005 13:40:05 -0400, Rebecca Wells
<[EMAIL PROTECTED]> wrote:
> Here is the CFC I use to authenticate users. Notice that there are 2 LDAP
> queries, first to see if the user exists, then using the returned username
> and form.password to return their info. This is from the example given on
> page 369 of the book "Developing ColdFusion MX Applications with CFML.
>
> <!---
> NOTE: for this to work, this code needs to be in a MX accessible web root.
>
> USAGE: <cfinvoke
> component="security"
> method="authenticate"
> returnVariable="authenticated"
> cfcUsername="#form.username#"
> cfcPassword="#form.password#"
> >
> --->
>
> <cfcomponent>
> <cffunction access="public" name="authenticate" output="0">
> <!--- security authentication function --->
>
> <!--- username and password required --->
> <cfargument name="cfcUsername" type="string" required="1"/>
> <cfargument name="cfcPassword" type="string" required="1"/>
>
> <cfset UserSearchFailed = 0>
> <!--- This filter will look in the objectclass for the user's ID. --->
> <cfset filter = "(&(objectclass=person)(uid=" & arguments.cfcUsername
> & "))">
>
> <!--- Query LDAP for the user's DN; used later to authenticate the
> user. --->
> <cftry>
> <cfldap action="query"
> name="userSearch"
> attributes="dn"
> start="o=#companyName#"
> scope="SUBTREE"
> server="#serverIP#"
> port="389"
> filter="#filter#">
> <cfcatch type="Any">
> <cfset UserSearchFailed = "true">
> </cfcatch>
> </cftry>
>
> <!--- If the user search failed or returns 0 rows abort. --->
> <cfif NOT userSearch.recordcount OR UserSearchFailed>
> <cfset UserSearchFailed = "true">
> <cfset errormsg = "UID for " & #arguments.cfcUsername# & " not
> found.">
> </cfif>
>
> <cfif userSearch.recordcount and not UserSearchFailed>
> <!--- Pass user's DN & password to see if the user authenticates. --->
> <cftry>
> <cfldap action="QUERY"
> name="auth"
>
> attributes="givenname,surname,uid,userid,groupMembership,mail,dn"
> start="o=#companyName#"
> scope="SUBTREE"
> server="#serverIP#"
> port="389"
> filter="#filter#"
> username="#userSearch.dn#"
> password="#arguments.cfcPassword#">
> <cfcatch type="Any">
> <cfset UserSearchFailed = "true">
> </cfcatch>
> </cftry>
> </cfif>
>
> <cfset User = StructNew()>
> <cfif not UserSearchFailed and auth.recordCount and len(auth.userid)
> eq 4>
> <cfif auth.groupMembership IS NOT "">
> <!--- Parse the roles from the group memberships. --->
> <cfset groupList = Replace(auth.groupMembership, ", ",
> ":", "All")>
> <cfloop list="#groupList#" index="i" delimiters=":">
> <cfset thisRoleStart = FindNoCase("uid=", i)+4>
> <cfset thisRoleEnd = FindNoCase(",", i,
> thisRoleStart)>
> <cfset roles = roles & Mid(i, thisRoleStart,
> thisRoleEnd-thisRoleStart) & ",">
> </cfloop>
> </cfif>
> <!--- Trim final comma from the end of the roles variable. --->
> <cfset roles = RemoveChars(roles, len(roles), 1)>
>
> <cfscript>
> StructInsert(User, "givenname", auth.givenname);
> StructInsert(User, "surname", auth.surname);
> StructInsert(User, "uid", auth.uid);
> StructInsert(User, "userid", auth.userid);
> StructInsert(User, "roles", roles);
> StructInsert(User, "mail", auth.mail);
> StructInsert(User, "ou", auth.dn);
> </cfscript>
> </cfif>
> <cfreturn User/>
> </cffunction>
>
> </cfcomponent>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking
application. Start tracking and documenting hours spent on a project or with a
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:192121
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54