Ruft die Liste der Gruppen für das angegebene UserPrincipal ab

8

Ich möchte die Liste der Gruppen erhalten, in denen sich der Benutzer befindet.

Das ist mein Code:

%Vor%

Wenn ich renne, habe ich den folgenden Fehler in der Zeile Response.Write(p.Name);

bekommen
  

System.Runtime.InteropServices.COMException: Das angegebene Verzeichnisdienstattribut oder der Wert existiert nicht.

Als ich die Anzahl der Ergebnisse überprüft habe, gab es 9 zurück und die erste Gruppe ist DomainUsers .

Wie kann ich alle 9 Gruppen in der Liste durchlaufen? Danke.

Folgendes ist die Liste der Benutzer, die ich bekomme:

    
TTCG 20.04.2012, 10:15
quelle

2 Antworten

5

Wenn die LDAP-Containereigenschaft wie in der PrincipalContext-Klasse beschrieben weggelassen wird, muss der Benutzer, der den Code ausführt, über Leseberechtigungen sowohl für den Standard User Container (dh CN=Users,DC=yourDomain,DC=COM ) als auch für Computers Container (dh CN=Computers,DC=yourDomain,DC=COM ) verfügen. .

Wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt, erhalten Sie die folgenden Fehlermeldungen:

  

Das angegebene Verzeichnisdienstattribut oder der Wert existiert nicht

     
  • 'context.Container' hat eine Ausnahme vom Typ 'System.NullReferenceException' ausgelöst   {System.NullReferenceException}

  •   
  • ((new System.Linq.SystemCore_EnumerableDebugView (Gruppen)). Items [5]). Beschreibung '   hat eine Ausnahme vom Typ ausgelöst   'System.Runtime.InteropServices.COMException' Zeichenfolge   {System.Runtime.InteropServices.COMException}

  •   

Bitte überprüfen Sie meinen Blogpost Authentifizierungsprobleme mit PrincipalContext

    
Markus 05.08.2014 13:13
quelle
1

versuche etwas wie

%Vor%

Ich weiß, es klingt doof, aber es hat in der Vergangenheit für mich funktioniert. Ihre Ergebnisse sehen so aus, als hätten sie nur 1 Sicherheitsgruppe und 8 "andere" Gruppentypen gefunden. Diese "anderen" Gruppen können diese Attribute nicht besitzen.

    
Sinaesthetic 04.09.2012 22:06
quelle