Quantcast
Channel: SCN: Message List - PowerBuilder Developer Center
Viewing all articles
Browse latest Browse all 7329

Re: LDAP autentification

$
0
0

That error usually means that you are not on the domain.

 

Here is a function that should do what you want:

 

public function boolean wf_checklogin (string as_domain, string as_userid, string as_password);// validate domain/userid/password

OLEObject ole_wsh

Boolean lb_Result

String ls_code

 

// define VBScript

ls_code  = 'Function fnCheckAccess()~r~n' &

                        + 'const ADS_SECURE_AUTHENTICATION = &h0001~r~n' &

                        + 'const ADS_CHASE_REFERRALS_ALWAYS = &H60~r~n' &

                        + 'strDomain = "' + as_Domain + '"~r~n' &

                        + 'strUserID = "' + as_Userid + '"~r~n' &

                        + 'strUserPWD = "' + as_Password + '"~r~n' &

                        + 'strPath = "LDAP://" & strDomain & "/OU=Users,DC=" & strDomain~r~n' &

                        + 'On Error Resume Next~r~n' &

                        + 'set objDSO = GetObject("LDAP:")~r~n' &

                        + 'set objUser = objDSO.OpenDSObject(strPath, strUserID, strUserPWD, ADS_SECURE_AUTHENTICATION OR ADS_CHASE_REFERRALS_ALWAYS)~r~n' &

                        + 'if Err.Number <> 0 then~r~n' &

                        + '   fnCheckAccess = False~r~n' &

                        + 'else~r~n' &

                        + '   fnCheckAccess = True~r~n' &

                        + 'end if~r~n' &

                        + 'Err.Clear~r~n' &

                        + 'On Error Goto 0~r~n' &

                        + 'set objDSO = Nothing~r~n' &

                        + 'set objUser = Nothing~r~n' &

                        + 'end function'

 

ole_wsh = CREATE OLEObject

 

ole_wsh.ConnectToNewObject("MSScriptControl.ScriptControl")

 

// set the VBScript

ole_wsh.Language = "vbscript"

ole_wsh.AddCode(ls_code)

 

// run the function

If String(ole_wsh.Eval("fnCheckAccess")) = "true" Then

    lb_Result = True

Else

    lb_Result = False

End If

 

ole_wsh.DisconnectObject()

 

DESTROY ole_wsh

 

Return lb_Result

 

end function



Viewing all articles
Browse latest Browse all 7329

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>