Verwenden der Windows-Authentifizierung mit Active Directory-Gruppen als Rollen
Ich habe mehrere Fragen zu diesem Thema gelesen, zHier, Hier, Hier undHier; aber keiner hat in meinem Fall eine funktionierende Lösung geliefert.
Was ich machen will; was ich vorhabe zu tun:
Implementieren Sie die Windows-Authentifizierung für eine Webanwendung, die nur von unseren eigenen Mitarbeitern verwendet wird. Auf diese Weise müssen sie sich nicht bei der App anmelden, sondern müssen sich bereits über die Anmeldung bei Windows authentifizieren.
Außerdem muss ich bestimmte Bereiche der App basierend auf den Active Directory-Sicherheitsgruppen einschränken, denen der Benutzer möglicherweise zugewiesen ist.
Also möchte ich Controller / Actions mit dekorieren können
[Authorize(Roles="SomeRole")]
Was ich versucht habe:
ich habe
<authentication mode="Windows" />
in meiner web.config. Und ich habe mehrere Permutationen von a hinzugefügt<roleManager>
wie in einigen der oben verlinkten Posts zu finden. Zur Zeit habe ich diesen Rollenmanager
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
wie gefunden indiese Post.
So wie es ist, wenn ich einen Controller mit dekoriere[Authorize]
Ich kann gut darauf zugreifen.
Jedoch:
Ich kann in meinen Benutzereinstellungen im Netzwerk sehen, dass ich Teil einer AD-Sicherheitsgruppe mit dem Namen "IT" bin. Aber wenn ich den gleichen Controller mit dekoriere[Authorize(Roles="IT")]
Ich erhalte den leeren Bildschirm, der vom asp.net-Entwicklungsserver für eine nicht autorisierte 401 bereitgestellt wird.Das ist unerwartet. Ich würde denken, dass ich in der Lage sein sollte, die Seite anzuzeigen, wenn ich in Windows angemeldet bin und Teil der Gruppe "IT" bin.
Fast alles, was ich zu diesem Thema finde, lässt es sehr einfach klingen, das zu erreichen, was ich versuche, aber mir fehlt hier eindeutig etwas.