Ich habe eine ASP.NET Core 3.0-Anwendung, die mit der lokalen Intranet-Windows-Authentifizierung zusammenarbeitet, um angemeldete Benutzer zu identifizieren. Mit den Standardverhaltensweisen der Windows-Authentifizierung kann ich die Benutzer WindowsIdentity
ohne Probleme erfassen .
Abhängig davon, wie der Benutzer über die automatische Anmeldung im Intranet-Browser (dh ohne Dialogfeld "Kennwort") oder explizit über das Dialogfeld "Kennwort" des Browsers beim Browser angemeldet ist, erhalte ich unterschiedliche Ergebnisse für die Benutzergruppen .
Das Folgende ist eine API-Anforderung, die Benutzerinformationen einschließlich einer gefilterten Gruppenmitgliedschaftsliste (die integrierte Konten ausschließt) wiedergibt. Die linke ist eine manuelle Anmeldung, die rechte eine automatische Anmeldung.
Für die explizite Anmeldung sehe ich alle benutzerdefinierten Gruppen, zu denen der Benutzer gehört, korrekt. Bei der automatischen Anmeldung werden jedoch nicht dieselben Gruppen angezeigt:
Ich habe mir auch die Benutzer- und Identitätsinstanzen auf dem Server genau angesehen und sie verweisen auf genau dieselben SIDs für den Benutzer. Daher erscheint es seltsam, dass für die Gruppenmitgliedschaft unterschiedliche Ergebnisse zurückgegeben werden.
Irgendwelche Ideen, warum die Gruppenliste anders ist, wenn ich dasselbe Konto zurückerhalte? Beachten Sie, dass die Gruppen lokal sind, sodass dies aufgrund des Domänenzugriffs kein Problem darstellen sollte.
Hinweis: Ich teste sogar lokal auf localhost. Um dies zu testen, habe ich hier die Windows-Proxy-Einstellungen festgelegt:
Wenn die Kontrollkästchen deaktiviert sind, muss ich mich anmelden. Wenn sie aktiviert sind (in Chromium-Browsern sowieso), muss ich meine Anmeldeinformationen explizit in den Anmeldedialog des Browsers eingeben.