• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Switch LDAP from Novell NDS to Microsoft AD

Community Beginner ,
Feb 29, 2012 Feb 29, 2012

Copy link to clipboard

Copied

I am running ColdFusion MX on Windows 2008 R2.  I am not the original programmer or one by any means.  I have some LDAP code on my Intranet that authenticates users to Novell NDS and creates local cookies.  I need to decommision and power off the Novell servers and NDS.  Whne I try and change the LDAP code to look at AD I just can't get it to work.

Here is the original code that does work. Any suggestions would be greatly appreciated.  The error I get is "Element GIVENNAME is undefined in LDAPLOGIN”

Created by:   Nate Weiss (NMW)

  Please Note:  Executes for every page request

--->

<cfif cgi.auth_user IS "">

                Auth Error

                <cfabort>

<cfelse>

                <cfscript>

                                                //<!--- setting basic LDAP server attributes --->                

                                                root = "ou=boston,o=company";                         

                                                servername = "hermes.company.com";                           

                                               

                                                //<!--- Attributes must include uid and dn.  These are used within the 2 authorization queries. --->                                

                                                attributes = "cn,dn,givenName,sn,workforceID,mail";                                                   

                                               

                                                //<!--- passing the username and password of the user to authenticate --->                      

                                                uid = "#REPLACE(cgi.auth_user,"COMPANY\","","ALL")#";                       

                                                password = "";                                                 

                                               

                                                //<!--- this filter will look in the objectclass for the user's ID --->                               

                                                filter = "(&(objectclass=*)(cn=#uid#))";                                                                                               

                                               

                                                //<!--- use directory manager id to allow a read of the password to authenticate users --->                         

                                                LDAP_username = "cn=directory manager";                      

                                                LDAP_password = "password";

                </cfscript>                         

                <cfif Not IsDefined("cookie.comp_empn")>

                                <cftry>                

                                                <cfldap action="QUERY"                                                              

                                                                                                                name="LDAPLogin"

                                                                                                                attributes="#attributes#"

                                                                                                                start="#root#"

                                                                                                                scope="SUBTREE"          

                                                                                                                server="#servername#"

                                                                                                                filter="#filter#">

                                                <cfcatch type="Any">                                  

                                                                <cfset UserSearchFailed = true>                              

                                                </cfcatch>

                                </cftry>                              

                                <!--- ContactID and First Name, in structure --->

                                <cfcookie name="UserAuth" Value="True" domain="company.com" expires="1" >

                                <cfcookie name="berg_fname" value="#LDAPLogin.givenName#" domain="company.com" expires="1">

                                <cfcookie name="berg_lname" value="#LDAPLogin.sn#" domain="company.com" expires="1">

                                <cfcookie name="berg_empn" value="#LDAPLogin.workforceID#" domain="company.com" expires="1">

                                <cfcookie name="berg_email" value="#LDAPLogin.mail#" domain="company.com" expires="1">       

                                <cfcookie name="UserName" value="#uid#" domain="company.com" expires="never">

                </cfif>

</cfif>

<CFSET CRMDATABASE = "VISION">

<CFSET TransDATABASE = "TRANSMITTAL">

<CFSET DocDBDatabase = "DocumentDB">

<CFSET ARCHIVEDB = "JobArchive">

<CFSET root = "projects.company.com/documentlogs">

<CFSET DocDBIconPath = "http://projects.company.com/documentlogs/images/icons">

<CFSET CompanyName = "Bergmeyer Associates, Inc.">

<!--- Name our app, and enable Session variables --->

<CFAPPLICATION

  NAME="CompanyWebApp"

  SESSIONMANAGEMENT="Yes">

<CFIF cgi.REMOTE_ADDR IS "XXX.XX.XX.133" OR cgi.REMOTE_ADDR IS "XXX.XX.XX.134" OR cgi.REMOTE_ADDR IS "XXX.XX.XX.135">

                <CFLOGIN cookiedomain="company.com">

                                <CFLOGINUSER

                                                NAME="000,Administrator"

                                                PASSWORD="password"

                                                ROLES="">

                </CFLOGIN>              

</cfif>

<CFINCLUDE TEMPLATE="VarPassingFunctions.cfm">

<CFIF SERVER_PORT IS NOT 443 AND NOT IsDefined("nossl")>

                <CFOUTPUT>

                <SCRIPT>

                document.location.href='https://#cgi.server_name##cgi.script_name#<cfif cgi.QUERY_STRING is NOT "">?#cgi.QUERY_STRING#</cfif>'

                </SCRIPT>

                </CFOUTPUT>

                <CFABORT>

</CFIF>

PLEASE HELP!!

TOPICS
Advanced techniques

Views

713

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 29, 2012 Feb 29, 2012

Copy link to clipboard

Copied

cfdump your ldaplogin query and see what actually is there.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 29, 2012 Feb 29, 2012

Copy link to clipboard

Copied

LATEST

I am not sure how to do that again im a hack but far from a programmer.

What I know the working one creates is this this cookie. 07QLBN3.txt

USERAUTH

True

company.com/

1024

2663919232

30210033

2481908432

30209833

*

BERG_FNAME

Ken

company.com/

1024

2663919232

30210033

2481908432

30209833

*

BERG_LNAME

Hogan

company.com/

1024

2663919232

30210033

2482068432

30209833

*

BERG_EMPN

250

company.com/

1024

2663919232

30210033

2482068432

30209833

*

BERG_EMAIL

khogan%40company%2Ecom

company.com/

1024

2663919232

30210033

2482068432

30209833

*

USERNAME

khogan

company.com/

1024

2611539584

32412596

2482068432

30209833

*

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation