Veröffentlicht 24. Januar 200619 j Hallo zusammen, Ich möchte gerne mit einer asp Seite Daten von einem LDAP Server abfragen. Leider konnte ich bislang nur Beispiele für PHP finden.(z.B.) Gibt es die gleichen Möglichkeiten auch in ASP und wenn ja, wo finde ich ein gutes Beispiel. Schon mal danke im Voraus
24. Januar 200619 j wenns mit ASP und ADO sein soll: http://www.4guysfromrolla.com/webtech/041800-1.shtml andere möglichkeiten gäbe es auch noch, welche allerdings zumeist eine activex-komponente (am host wo das script läuft) benötigt. wenns mit ASP.net und assembly sein soll: http://www.aspheute.com/artikel/20011121.htm andere möglichkeiten wären noch ADSI (also sozusagen das WMI für AD), setzt allerdings auch eine clientinstallation auf älteren systemen voraus - z.b. wenn du deine ASP-seiten auf NT 4 server laufen lassen willst. s'Amstel
24. Januar 200619 j Hi cool danke. Mit dem ersten Beispiel bekomme ich immerhin schon ein paar Daten. Gibt es auch irgendwo infos über die Möglichkeiten in dem SQL bzw. Selectstatement.
24. Januar 200619 j es gibt z.b. unter anderem folgende objektklassen (müssen nicht bei allen implementierungen von LDAP; also z.b. AD, vorhanden sein): usercontactgrouporganizationalUnitcontainerprintQueuecomputervolume abfragen kannst du dann jeweils mit: SELECT Name FROM 'LDAP://dein_ldap_pfad' WHERE objectCategory='deine_objektklasse' wo z.b. bei deine_objektklasse einfach "user" drinstehen kann. müsste eigentlich im windows 2000 server SDK bzw. in der MSDN zu finden sein. wäre interessant, welchen LDAP du ansprichst (könnt ja z.b. auch OpenLDAP sein ). s'Amstel
20. Februar 200619 j Hi nochmal. Habe jetzt soweit alles hinbekommen leider werden mir im result set maximal 500 datensätze ausgegeben. Was mache ich Falsch bzw. wie bekomme ich mehr datensätze? SQLStmt = "SELECT uid " & _ "FROM 'meine adresse' " & _ "WHERE objectClass='*' AND uid='*'" ' Set Conn = CreateObject("ADODB.Connection") Conn.Provider = "ADSDSOObject" Conn.Open "ADs Provider", _ "", _ "" Set rs = Conn.Execute(SQLStmt) Count = 0 ' Do While Not rs.EOF Or rs.BOF Dim Item For strItem =0 to 600 ReturnValue = rs.Fields(0) If IsArray(ReturnValue) Then For I = LBound(ReturnValue) To UBound(ReturnValue) If ReturnValue(I) <> "" Then ICTEAMGUID =ReturnValue(I) End If Next Else ICTEAMGUID =ReturnValue End If
20. Februar 200619 j was sagt denn der RecordCount von rs? sind das denn genau 500 oder gar mehr? s'Amstel
20. Februar 200619 j Also ich weis das insgesammt ca 12000 User im LDAP eingetragen sind und bei 501 sagt er mir ADODB.Field Fehler '800a0bcd' Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz. /tools/UserStat/index2.asp, line 68 Das weis ich da ich mir den Count vor jedem Datensatz ausgeben lasse.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.