| 

.NET C# Java Javascript Exception

3
Wie kann ich zum aktuellen die Gruppenzugehörigkeiten ermitteln?
26.02.2011
GoodNews 31 1
Hallo und willkommen bei codekicker! Haben Dir unsere Antworten geholfen? War nicht das richtige dabei? Die meisten hier Antwortenden freuen sich über Feedback in Form von Kommentaren, Bewertungen oder sogar als "richtig" akzeptierten Antworten.
Matthias Hlawatsch 01.03.2011
2 Antworten
1
Ich geh mal davon aus, dass Du den aktuellen Benutzer als Instanz von WindowsPrincipal hast (bzw. als IPrincipal, den Du auf WindowsPrincipal casten kannst). Dessen Identity-Eigenschaft liefert Dir eine IIdentity, die Du auf WindowsIdentity castest, darüber kommst Du an die Groups mit Typ IdentityReferenceCollection, und darauf rufst Du die Methode Translate(typeof(NTAccount)) auf - und dann hast Du sie.
26.02.2011
Matthias Hlawatsch 8,4k 2 8
1
Sowas geht z.B. mit ADSI

DirectoryEntry user = new DirectoryEntry("WinNT://HOSTNAME/Administrator,user", null, null);

StringCollection groups = new StringCollection();


try
{
IADsMembers members = (IADsMembers)user.Invoke("Groups");
members.Filter = new object[] { "group" };

foreach (IADsGroup group in members)
{
groups.Add(group.Name);
}
}
finally
{
user.Dispose();
}

foreach (string s in groups)
{
Console.WriteLine(s);
}

O.a. Code benötigt die Namensräume System.DirectoryServices, System.Collection.Specialized und ActiveDs und entsprechende Verweise. Im Beispiel ist HOSTNAME der Name des betreffenden Computers - als Benutzer habe ich mal Administrator genommen. Wenn's für eine Domäne sein soll, musst du aber noch ein paar Parameter mehr angeben.

HTH
26.02.2011
Joachim 2,8k 3 9

Stelle deine .net-Frage jetzt!