Home » Archiv » 2007 » 08 » 29 » Mit ASP Windows Be...
Blog Startseite

zitate

Es gibt drei Möglichkeiten, eine Firma zu ruinieren: mit Frauen, das ist das Angenehmste; mit Spielen, das ist das Schnellste; mit Computern, das ist das Sicherste.
Oswald Dreyer-Eimbcke
 
Sprache / Language:
  • deutsch
  • english
  •    
     

    Mit ASP Windows Benutzer Daten über Windows Kennung (UserID) aus Active Directory/LDAP lesen

    Diesen Artikel als PDF Druckansicht dieses Artikels

    aspHeute mal wieder was für die Tutorial Ecke meiner Homepage. Da ich derzeit am Redesign des Intranets meiner Firma arbeite wollte ich dabei auch ein wenig mehr Benutzerkomfort integrieren. Dazu soll zum einen eine automatische Identifizierung des Benutzers anhand seiner Windows UserId erfolgen. Was zum beispiel auch für das autmatische ausfüllen von Formularen genutzt werden soll. Müsste unter Windows doch eigentlich kein Problem sein dachte ich mir… in Verbindung mit ASP, LDAP und Active Directory … und ist es auch nicht. Hier nun ein Script mit dem es bei mir wunderbar funktioniert, es sind natürlichalle weiteren Werte des AD ebenfalls auslesbar.

    <%
    Dim objCommand, objConnection, strBase, strFilter, strAttributes
    Dim strQuery, objRecordset, sFullUser , sUser, strDomain’##### Hier den LDAP Basispfad angeben
    ‘##### Beispiel: mydomain.com, Domänencotroller: myserver
    ‘##### strBase = “<LDAP://myserver/dc=mydomain,dc=com>”
    strBase = “

    ‘##### Hier den Domain Namen (im Netbios Format) angeben (dieser wird später aus dem Benutzernamen extrahiert)
    ‘##### Beispiel: strDomain = “MYDOMAIN”
    strDomain = “”

    ‘##### Ab hier beginnt die Verarbeitung
    If Request(”REMOTE_USER”) = “” Then
    Response.Status = “401 Unauthorized”
    elseif request(”REMOTE_USER”) <> “” then
    username = Request.Servervariables(”REMOTE_USER”)
    end if

    sFullUser=Request.Servervariables(”REMOTE_USER”)
    sUser=REPLACE (sFullUser, strDomain & “\”, “”)

    Set objCommand = CreateObject(”ADODB.Command”)
    Set objConnection = CreateObject(”ADODB.Connection”)
    objConnection.Provider = “ADsDSOObject”
    objConnection.Open “Active Directory Provider”
    objCommand.ActiveConnection = objConnection
    strFilter = “(&(objectCategory=person)(objectClass=user)(sAMAccountName=” & sUser & “))”
    strAttributes = “sAMAccountName,cn,telephoneNumber,streetAddress,l,st,postalCode,mail”

    strQuery = strBase & “;” & strFilter & “;” & strAttributes & “;subtree”
    objCommand.CommandText = strQuery
    objCommand.Properties(”Size Limit”) = 1
    Set objRecordSet = objCommand.Execute

    Do Until objRecordSet.EOFResponse.Write “Benutzer: ” & objRecordSet.Fields(”cn”).value & ” (” & objRecordSet.Fields(”sAMAccountName”).value & “) - ” & objRecordSet.Fields(”mail”).value & ”

    objRecordSet.MoveNext
    Loop
    objConnection.Close
    %>

    Hinterlasse einen Kommentar

    Name: (erforderlich)

    eMail: (erforderlich)

    Website:

    Kommentar:

    WETTER LANGENHAGEN
    Aktuelles Webcambild
    Aktuelle Temperatur:
    Aktuelle Temperatur
    Aktuelle Luftfeuchtigkeit:
    Aktuelle Luftfeuchtigkeit
    FRAZR
    PLAYLIST
    TAGS BADGES


    TopBlogs.de
    bloggerei.de - deutsches Blogverzeichnis blog-o-rama.de Deutsches Blog Verzeichnis frisch gebloggt Bloggeramt.de Pagerank
    BESUCHER
    • 8 gerade online
    • 24 max. gleichzeitig online
    • Heute: 39
    • Gestern: 250
    • Monat: 1446
    • Jahr: 1446
    • Gesamt: 215214
    LETZTE KOMMENTARE
    Björn "bof" Böttcher, 2002-2009 - Impressum - Datenschutz - About

    Schliessen
    Beitrag per E-Mail versenden