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

Antwort per Email an