używanie uwierzytelniania systemu Windows z aktywnymi grupami katalogów jako rolami
Przeczytałem kilka pytań na ten temat, takich jaktutaj, tutaj, tutaj itutaj; ale w moim przypadku żadne z nich nie zapewniło rozwiązania roboczego.
Co chcę robić:
Zaimplementuj uwierzytelnianie systemu Windows dla aplikacji internetowej, która jest używana tylko przez naszych własnych pracowników. W ten sposób nie będą musieli logować się do aplikacji, ale będą już uwierzytelniani przez zalogowanie się do systemu Windows.
Ponadto muszę ograniczyć niektóre obszary aplikacji, w oparciu o grupy zabezpieczeń Active Directory, do których użytkownik może być przypisany.
Chcę więc móc ozdobić kontrolery / akcje
[Authorize(Roles="SomeRole")]
Co próbowałem:
mam
<authentication mode="Windows" />
w moim web.config. Dodałem kilka permutacji a<roleManager>
jak w niektórych postach powiązanych z powyższym. Obecnie mam tego menedżera ról
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
jak znaleźć wto słupek.
Tak jest, jeśli ozdobię kontroler[Authorize]
, Mogę uzyskać do niego dobry dostęp.
Jednak:
Widzę w moich ustawieniach użytkownika w sieci, że jestem częścią grupy zabezpieczeń AD o nazwie „IT”. Ale jeśli ozdobię ten sam kontroler[Authorize(Roles="IT")]
Otrzymuję pusty ekran, który jest obsługiwany przez serwer deweloperski asp.net dla 401 nieautoryzowanego.To jest nieoczekiwane. Myślę, że powinienem być w stanie wyświetlić stronę, gdy jestem zalogowany do systemu Windows i jestem częścią grupy „IT”.
Większość wszystkiego, co znajduję na ten temat, sprawia, że realizacja tego, co staram się zrobić, brzmi bardzo prosto, ale wyraźnie czegoś tutaj brakuje.