Jonny: Authentifizierung durch LDAP

Hallo,

ich habe mir eine vorkompilierte mod_auth_ldap für Win32 runtergeladen und möchte nun wissen, wie ich die einzelnen *.dll's im Apache (Win32) einbinde und wie ich auf einen bestehenden LDAP-Server zugreife (Konfiguration in der httpd.conf)?
Wer kann mir helfen oder sagen wo ich ein entsprechendes HowTo (speziell für Win32 !!!) finde???

mfg

  1. Hallo,

    ich habe mir eine vorkompilierte mod_auth_ldap für Win32 runtergeladen und
    möchte nun wissen, wie ich die einzelnen *.dll's im Apache (Win32) einbinde
    und wie ich auf einen bestehenden LDAP-Server zugreife (Konfiguration in der
    httpd.conf)?

    http://httpd.apache.org/docs/mod/mod_so.html#loadmodule
    http://httpd.apache.org/docs/mod/mod_so.html#loadmodule

    Wer kann mir helfen oder sagen wo ich ein entsprechendes HowTo (speziell für
    Win32 !!!) finde???

    http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html

    Lesen bildet.

    Gruesse,
     CK

  2. Hallo,

    ich hab hier ein Script um die Telefonnummern der in einem NT-System angemeldeten User per LDAP abzufragen...
    über die konfiguration weiß ich leider nichts...

    ------------------------------
    <html>
    <head>
    <title>Telefonnumernsuche - Suchergebnisse</title>
    <link rel=stylesheet type="text/css" href="kram/style.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    </head>

    <body bgcolor="#FFFFFF" text="#000000" link="#0067dc" alink="#0067dc" vlink="#0067dc" background="kram/strukt1.jpg">
    <table border="0" cellpadding="5" cellspacing="0" width="100%">
    <tr><td>
    <form name="telesuche" action="telefonnummern.asp" method="post">
          <table border="0" width="100%" cellspacing="3">
            <tr align="left">
              <td width="20%" nowrap>Telefonnummernsuche: <input type="text" name="bruchstueck" size="30" maxlength="30"> <input type="submit" name="submit" value=" Suchen! "><br><span id="klein">(Name oder Teil des Namens eingeben)</span><br><br></td></tr>
            <tr><td><a href="default.htm" target="_top">rtk Startseite</a></td></tr>
          </table>
       </form></td></tr>
      <tr><td>
    <%
    dim fehler
    fehler = 0
    LDAPgruppe = "LDAP://zserv.pflz.local/CN=F-TelefonanzeigeUnterdruecken,OU=PFLZ,DC=pflz,DC=local"

    Set adoConnection = Server.CreateObject("ADODB.Connection")
    adoConnection.Provider = "ADSDSOObject"
    adoConnection.Open "", vbNullString, vbNullString
    If adoConnection.State <> 1 Then
     fehler = 1
    End If
    %>
    <table border="0" cellpadding="5" cellspacing="0" width="100%">
    <%
    if fehler = 0 then
    sNameSoll = trim(request.form("bruchstueck"))
    sNameSoll = Trim(Lcase(sNameSoll))
    call ersetze_umlaute(sNameSoll)

    '--------------------------------------------------------------
    '  Zu unterdrückende User ermitteln:
    '--------------------------------------------------------------
    Set adsGroup = GetObject(LDAPgruppe)
    'MsgBox "Verbunden mit " & adsGroup.ADsPath

    Set rstemp3 = Server.CreateObject("ADODB.Recordset")
    rstemp3.Fields.Append "Name", 129, 4096
    rstemp3.open

    For each adsMember In adsGroup.Members
      sName = adsMember.Name
      call CN_Abzwicken(sName)
      rstemp3.AddNew
      rstemp3("Name") = Lcase(sName)
      rstemp3.update
    Next

    '--------------------------------------------------------------
    '  Eigentliche Suche:
    '--------------------------------------------------------------
    Set adoRsDir = adoConnection.Execute _
                   ("LDAP://zs04.lralz.local/OU=LRALZ,DC=lralz,DC=local;(objectClass=User);Name, SAMAccountName, telephoneNumber, department;SubTree")
    sName = ""

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Fields.Append "Name", 129, 4096
    rs.Fields.Append "Nummer", 129, 4096
    rs.Fields.Append "Abteilung", 129, 4096
    rs.open

    While Not adoRsDir.Eof
      sName = lcase(adoRsDir.Fields.Item("Name").Value)
      If Instr(sName, sNameSoll) > 0 Then
        sNummer = adoRsDir.Fields.Item("telephoneNumber").Value
        if sNummer <> "" Then
          rs.AddNew
          rs("Name") = sName
          rs("Nummer") = sNummer
          rs("Abteilung") = adoRsDir("department") & " "
    '     NULL ist nicht erlaubt, deshalb Leerzeichen dran
          rs.update
        End If
      End If
      adoRSDir.MoveNext
    Wend

    if Not rs.Eof Then
      rs.Sort = "Name"
      rs.Movefirst
    End If
    Trennzeichen = ", -"
    %>
    <tr><td colspan="3">
    <%
    if rs.recordcount = 1 then
    response.write "<span id=""ueb3bl"">" & rs.recordcount & "</span><span id=""fettbl""> passenden Eintrag zum Suchbegriff  </span><span id=""ueb3bl"">""" & sNameSoll & """</span><span id=""fettbl"">  gefunden.</span></td></tr><tr><td colspan=""3""> </td></tr>"
    else
    response.write "<span id=""ueb3bl"">" & rs.recordcount & "</span><span id=""fettbl""> passende Einträge zum Suchbegriff  </span><span id=""ueb3bl"">""" & sNameSoll & """</span><span id=""fettbl"">  gefunden.</span></td></tr><tr><td colspan=""3""> </td></tr>"
    end if
    if rs.recordcount > 0 then
    response.write "<tr><td id=""fettbl"">Name</td><td id=""fettbl"">Telefonnummer</td><td id=""fettbl"">Abteilung</td></tr>"
    end if
    While Not rs.Eof
      sName = rs.Fields.Item("Name").Value
      If Not rstemp3.Bof Then
        rstemp3.MoveFirst
      End If
      rstemp3.Find "Name = '" & sName & "'"
      If rstemp3.Eof Then
        sName = klein2gross(sName, Trennzeichen)
     response.write "<tr><td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & sname & "</td>"
     response.write "<td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & rs("Nummer") & "</td>"
     response.write "<td style=""border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:blue;"">" & rs("Abteilung") & "</td></tr>"
      End If
      rs.MoveNext
    Wend
    response.write "</table></td></tr></table>"

    '--------------------------------------------------------------
    '  Unterprogramme
    '--------------------------------------------------------------
    public Sub ersetze_umlaute(eingabe)
    eingabe = replace(eingabe, "ö","oe")
    eingabe = replace(eingabe, "ä","ae")
    eingabe = replace(eingabe, "ü","ue")
    eingabe = replace(eingabe, "ß","ss")
    end Sub

    '--------------------------------------------------------------
    public function klein2gross(eingabe, die_zeichen)
      klein2gross = ""
      t_zeichen = 1
      do while len(eingabe) > 0
        vornbeginn = left(eingabe,1)
        eingabe = mid(eingabe,2)
        t_zeichen_alt = t_zeichen
        if instr(die_zeichen, vornbeginn) = 0 then
          t_zeichen = 0
        else
          t_zeichen = 1
        end if
        if t_zeichen_alt = 1 AND t_zeichen = 0 then
          vornbeginn = Ucase(vornbeginn)
        end if
        klein2gross = klein2gross & vornbeginn
      loop
    end function

    '--------------------------------------------------------------
    public Sub CN_Abzwicken(aString)
      iii = Instr(aString, "")
      if iii > 0 Then
        aString = Left(aString, iii-1) & Mid(aString, iii+1)
      End If
      If Instr(aString, "CN=") = 1 Then
        aString = Mid(aString, 4)
      End If
    end Sub

    '--------------------------------------------------------------
    else
    response.write "<tr><td colspan=""3"" align=""center"">Ein fehler ist aufgetreten<br>Verarbeitung nicht möglich</td></tr>"
    end if

    %>
    </body>
    </html>
    ------------------------------

    Odium