ASP - Active Server Pages
Folgendes Beispiel wurde dem URZ freundlicherweise von Martin Kofahl zur Verfügung gestellt. Bei Fragen zum Code senden Sie bitte eine Email an martin.kofahluni-rostockde.
<%
Function AuthRZ(ByVal user, ByVal pass, ByRef errstr, ByRef errnum)
const ADS_SECURE_AUTHENTICATION=&h0001
const ADS_USE_SSL=&h0002
user = Trim(user)
If user = "" Then
errstr = "Nutzername wurde nicht angegeben"
AuthRZ = false
Else
ldap = "LDAP://ldap.uni-rostock.de:636/"
basedn = "UID=" & user & ",ou=people,o=uni-rostock,c=de"
login = "UID=" & user & ",ou=people,o=uni-rostock,c=de"
On Error Resume Next
Set dso = GetObject("LDAP:")
Set domain = dso.OpenDSObject(ldap & basedn, _
login, _
pass, _
ADS_USE_SSL)
errinfo=err.number
err.clear
On Error Goto 0
Select Case errinfo
Case "0" 'AUTHENTICATED THROUGH ADSI
errstr = ""
errnum = 0
AuthRZ = true
Case "-2147023570" 'BAD PASSWORD
errstr = "Falscher Benutzername oder falsches Paßwort"
errnum = errinfo
AuthRZ = false
Case "-2147023677" 'TOO MANY TRIES
errstr = "Zu viele fehlerhafte Logins, Account vorübergehend gesperrt"
errnum = errinfo
AuthRZ = false
Case "-2147467259" 'CAN'T CONNECT TO DOMAIN SERVER
errstr = "Keine Verbindung zum Server möglich"
errnum = errinfo
AuthRZ = false
Case Else
errstr = err.description
errnum = errinfo
AuthRZ = false
End Select
End If
Set domain = Nothing
Set dso = Nothing
End Function
If AuthRZ("", "password", errstr, errnum) Then
response.write("ok")
Else
response.write("Fehler: " & errstr)
End If
%>