AspNet5 - Windows-Authentifizierung Abrufen von Gruppennamen aus Ansprüchen

8

Ich habe ein asp.net5-Projekt eingerichtet, um Windows-Authentifizierung zu verwenden. Wenn ich einen Unterbrechungspunkt einstelle und den Benutzer ansehe, sehe ich, dass es ein Claims-Array gibt, das Gruppen-SIDs enthält. Wie bekomme ich den tatsächlichen Gruppennamen von den Ansprüchen?

Ich versuche, die angemeldeten Windows-Benutzer mit den Active Directory-Gruppen, denen sie angehören, zu begrenzen und habe Schwierigkeiten, sie einzurichten.

Fragen: Wie kann ich die Active Directory-Gruppen sehen, zu denen der angemeldete Benutzer gehört? Wie konvertiere ich die GroupSIDs in einen Gruppennamen? Muss ich etwas in die startup.cs aufnehmen, um bestimmte Gruppen auf REST-Serviceaufrufe zu beschränken?

Ich sehe Beispiele für das manuelle Einrichten von Ansprüchen basierend auf dem angemeldeten Benutzer. Ich bin daran interessiert, den authentifizierten Windows-Benutzer und ihre Gruppen zu verwenden, um den Zugriff zu beschränken.

Danke

    
Michael JDI 22.01.2016, 16:41
quelle

3 Antworten

3

Sie nicht. Leider funktioniert die Windows-Authentifizierung nicht so. Sie können nur prüfen, ob ein Benutzer eine Rolle innehat (und dafür eine Policy-Anforderung), nicht die Rollen, in denen sie sich befinden - die Verzeichnisdienste werden nicht in den Core portiert.

(Eine Sache zu beachten ist, dass, err, User.IsInRole () ist jetzt für Windows-Identitäten gebrochen. Das wird in RC2 behoben werden)

    
blowdart 22.01.2016, 20:11
quelle
12

Sie können den Gruppennamen tatsächlich noch folgendermaßen verwenden:

%Vor%

Also zum Beispiel:

%Vor%

Ausgaben:

%Vor%

Beachten Sie, dass das Auffüllen der Domänenrollen eine oder zwei Sekunden dauern kann.

    
JosephGarrone 23.02.2016 00:38
quelle
1

Eine andere Option (ähnlich der @ JosephGarrone-Lösung):

%Vor%     
Assaf S. 13.03.2018 13:55
quelle