Hi, I hope someone can help me.
I have a form build in classic ASP, that is trying to authenticated against LDAP in a different server than where the form is located.
If the users exist they will be redirected to a new page. if not they will be prompt to try again for username and password.
I have read that I need to have anonymous log in disabled for this to work, which I have done.
As of right now, I always get authentication failed. the form i am working with is this, if this is incorrect please do correct me. i have found 3 different forms which i have try and i dont know what else to do.
<%
Option Explicit
Response.Buffer = True
'// 1. Form Validation
Dim Submit, UserName, Password, Domain, Result, Message
Submit = Request.Form("Submit")
If Submit = "Authenticate" Then
'Get the input from your HTML form
UserName = Request.Form("UserName")
Password = Request.Form("Password")
Domain = Request.Form("Domain")
'Call the AuthenticateUser() function to do the verification process
Result = AuthenticateUser(UserName, Password, Domain)
If Result Then
'If user exist, then redirect to success page
Response.Redirect ("success.asp")
Else
'If user don't exist, redirect to error page
Response.Redirect ("error.asp")
End If
End If
'// 2. Authenticate Function
Function AuthenticateUser(UserName, Password, Domain)
Dim strUser, strPassword, strQuery, oConn, cmd, oRS
'Assume Failure
AuthenticateUser = false
strUser = UserName
strPassword = Password
strQuery = "SELECT cn FROM 'LDAP://" & Domain & "' WHERE objectClass='*'"
Set oConn = server.CreateObject("ADODB.Connection")
oConn.Provider = "ADsDSOOBJECT"
oConn.Properties("User ID") = strUser
oConn.Properties("Password") = strPassword
oConn.Properties("Encrypt Password") = true
oConn.open "DS Query", strUser, strPassword
Set cmd = server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = oConn
cmd.CommandText = strQuery
On Error Resume Next
Set oRS = cmd.Execute
If oRS.bof OR oRS.eof Then
AuthenticateUser = False
Else
AuthenticateUser = True
End if
Set oRS = Nothing
Set oConn = nothing
End Function
%>
<html>
<head>
<title>Using Microsoft Active Directory Authentication</title>
</head>
<body>
<form name="DomainAuthentication" method="post">
Username:<input type="text" name="UserName" size="45">
Password:<input type="password" name="Password" size="45">
AD Domain:<input type="text" name="Domain" size="45">
<input name="submit" type="submit" value="Authenticate">
</form>
</body>
</html>
I have a form build in classic ASP, that is trying to authenticated against LDAP in a different server than where the form is located.
If the users exist they will be redirected to a new page. if not they will be prompt to try again for username and password.
I have read that I need to have anonymous log in disabled for this to work, which I have done.
As of right now, I always get authentication failed. the form i am working with is this, if this is incorrect please do correct me. i have found 3 different forms which i have try and i dont know what else to do.
<%
Option Explicit
Response.Buffer = True
'// 1. Form Validation
Dim Submit, UserName, Password, Domain, Result, Message
Submit = Request.Form("Submit")
If Submit = "Authenticate" Then
'Get the input from your HTML form
UserName = Request.Form("UserName")
Password = Request.Form("Password")
Domain = Request.Form("Domain")
'Call the AuthenticateUser() function to do the verification process
Result = AuthenticateUser(UserName, Password, Domain)
If Result Then
'If user exist, then redirect to success page
Response.Redirect ("success.asp")
Else
'If user don't exist, redirect to error page
Response.Redirect ("error.asp")
End If
End If
'// 2. Authenticate Function
Function AuthenticateUser(UserName, Password, Domain)
Dim strUser, strPassword, strQuery, oConn, cmd, oRS
'Assume Failure
AuthenticateUser = false
strUser = UserName
strPassword = Password
strQuery = "SELECT cn FROM 'LDAP://" & Domain & "' WHERE objectClass='*'"
Set oConn = server.CreateObject("ADODB.Connection")
oConn.Provider = "ADsDSOOBJECT"
oConn.Properties("User ID") = strUser
oConn.Properties("Password") = strPassword
oConn.Properties("Encrypt Password") = true
oConn.open "DS Query", strUser, strPassword
Set cmd = server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = oConn
cmd.CommandText = strQuery
On Error Resume Next
Set oRS = cmd.Execute
If oRS.bof OR oRS.eof Then
AuthenticateUser = False
Else
AuthenticateUser = True
End if
Set oRS = Nothing
Set oConn = nothing
End Function
%>
<html>
<head>
<title>Using Microsoft Active Directory Authentication</title>
</head>
<body>
<form name="DomainAuthentication" method="post">
Username:<input type="text" name="UserName" size="45">
Password:<input type="password" name="Password" size="45">
AD Domain:<input type="text" name="Domain" size="45">
<input name="submit" type="submit" value="Authenticate">
</form>
</body>
</html>