OK - erstmal die Grundlegenden Sachen: Zugriff in AD via C# in DotNet (hier bekommst Du erstmal die Grundsachen - wie auf AD Zugegriffen wird) http://www.aspheute.com/artikel/20011121.htm
Weiterhin - der LDAP Pfad --> installiere (falls Du es noch nicht hast) die Windows 2000 Support Tools - zu finden auf der W2K CD -> SUPPORT -> TOOLS --> da findest DU ein Programm ADSI Edit - das ist sehr hilfreich wenn Du die genauen LDAP Pfade wissen m�chtest die ein Objekt hat Dann solltest Du Dir �berlegen - ob Du eine Globale oder Lokale Gruppe durchsuchen m�chtest. Lokale Gruppen sind auf einem bestimmten Server/Rechner drauf - zum Beispiel wenn Du schauen m�chtest ob der User in einer bestimmten Gruppe auf dem Webserver Mitglied ist. Der ADsPath in dem Fall lautet WINNT://ServerName Globale Gruppen sind dann Domainenweite Gruppen - die auch "Serverless" �ber irgendeinen Domain Controller abgefragt werden. Der ADsPath in dem Fall lautet LDAP://hostname/objectName ' Hier ist die andere Methode um sich direkt ' Serverlos auf die rootDSE zu binden - schneller '------------------------------------------------------------------------- Set rootDSE = GetObject("LDAP://rootDSE") strADsPath = "LDAP://" & rootDSE.Get("defaultNamingContext") ' Aufbau der Connection - mittels ADO (bevorzugt in der MS Umgebung) '------------------------------------------------------------------------- Set oConnection = CreateObject("ADODB.Connection") Set oRecordset = CreateObject("ADODB.Recordset") oConnection.Provider = "ADsDSOObject" 'The ADSI OLE-DB provider oConnection.Open "ADs Provider" ' Hier kann man den jeweiligen User zum testen eintragen '------------------------------------------------------------------------- strUPN = "Max.Musterman" //LogonName ohne Domaink�rzel DIM istExtern istExtern = TRUE ' Aufbau des Querys ' Form: <LDAP://DC=DomainName,DC=DE> ' dann Bindung an die richtigen Objekte: objectClass = USER und objectCategory=person ' usw..... '-------------------------------------------------------------------------- strQuery = "<" & strADsPath & ">;(&(objectClass=user)(objectCategory=person)" strQuery = strQuery & "(samAccountName=" &strUPN& "))" strQuery = strQuery & ";Name" strQuery = strQuery & ",ADsPath" strQuery = strQuery & ";subtree" Set rs = oConnection.Execute(strQuery) RESPONSE.WRITE(strQuery) Counter = 0 DO UNTIL rs.EOF UserAdsPath = rs("AdsPath") UserName = rs("Name") RESPONSE.WRITE("<br>Name: " & rs("Name") & " - ") RESPONSE.WRITE("Path: " & rs("AdsPath") & "<br>") Counter = 1 rs.MoveNext Loop ' Wenn Counter = 1 ist - wurde im AD jemand gefunden ' Dann wird �ber die Methode "isMember" kontrolliert ' ob er in der Gruppe "eProjectexterns" - Mitglied ist oder nicht ' Wenn er da Mitglied ist - mu� er ein externer Mitarbeiter sein. '---------------------------------------------------------------------------- IF Counter = 1 THEN Dim grp Set grp = GetObject("LDAP://CN=GruppenName,OU=OUName,DC=DomainName,DC=de") //hier mu� der LDAP Pfad der zu untersuchenden Gruppe rein. istExtern = grp.isMember(UserAdsPath) END IF Das Beispiel - war meine L�sung unter ASP. Du holst Dir den ADSPath - des USERs Dann holst Du Dir die zu untersuchende Gruppe und dann benutzt Du die GruppenEigenschaft "isMember" um zu schauen ob genau dieser Nutzer Mitglied der Gruppe ist. Das ist die Grunds�tzliche Vorgehensweise! Ich hoffe das hilft etwas Hier findest Du Infos zum AD Zugriff von Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netdir/ad/binding.asp Falls Du noch bestimmte genauere Fragen hast - dann melde Dich einfach - nur wenn ich jetzt hier alles rein schreibe - werde ich net fertig ;-) MfG Andreas -----Urspr�ngliche Nachricht----- Von: Steuper, Marc [mailto:[EMAIL PROTECTED]] Gesendet: Freitag, 13. September 2002 10:11 An: aspDEdotnet Betreff: [aspdedotnet] AW: Benutzergruppe anhand der Standardauthentif izierung ermitteln??? Hallo Andreas, Ich m�chte in der Tat nur �berpr�fen, ob der User in einer definierten Benutzergruppe eingetragen ist. Wie kann ich dies in ASP.NET realisieren. Gruss Marc -----Urspr�ngliche Nachricht----- Von: Pessner, Andreas [mailto:[EMAIL PROTECTED]] Gesendet: Freitag, 13. September 2002 09:55 An: aspDEdotnet Betreff: [aspdedotnet] AW: Benutzergruppe anhand der Standardauthentifizierung ermitteln??? Ok das ist ein relativ kompliziertes Unterfangen - da Du dazu Zugriff in AD reinprogrammieren ist. Grunds�tzlich ist es sehr schwierig - und performancelastig die Gruppenzuordnung einer Person zu ermitteln - weil die Person verschachtelt in anderen Gruppen auch Zugriff auf diese Gruppe haben kann. Kleines Beispiel: Gesuchte Zuordnung GruppeA Person Pers1 Pers1 ist in Gruppe Gruppe1 Gruppe1 ist in Gruppe2 und Gruppe3 Gruppe2 ist in Gruppe4 Gruppe4 ist in..... Gruppe3 ist in GruppeA Somit h�tte die Person Pers1 Zugriff zu GruppeA - auch wenn sie eigentlich nicht in GruppeA direkt drin steht. Wie Du siehst - brauchst Du dazu einen rekursiven ProzedurAufruf - der das ganze f�r dich scannt. Falls Du aber nur schauen m�chtest ob die Person direkt in einer Gruppe ist - dann ist das relativ simpel. Ich habe das ganze vor ner weile mal in ASP (vbScript) gemacht - und es funktioniert einwandfrei. Schreib mal was Du genau brauchst - und genau vorhast - dann kann ich Dir sicher helfen. MfG Andreas -----Urspr�ngliche Nachricht----- Von: Steuper, Marc [mailto:[EMAIL PROTECTED]] Gesendet: Donnerstag, 12. September 2002 17:12 An: aspDEdotnet Betreff: [aspdedotnet] Benutzergruppe anhand der Standardauthentifizierung ermitteln??? Hallo zusammen, Ich habe folgendes Problem: Anwender melden sich �ber eine SSL-gesch�tzte Standardauthentifizierung gegen einen Dom�nencontroller an einer Webseite an. Wie kann ich nun herausfinden, in welchen Benutzergruppen der angemeldete User <Dom�ne\User> vorkommt bzw. ob er in einer bestimmten Benutzergruppe eingetragen ist. Danke Marc | [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie | k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp | [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie | k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp | [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp | [aspdedotnet] als [email protected] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
