Odpowiedzi:
Następujące powinny działać, w zależności od wersji IIS. Musisz dodać plik web.config, jeśli go nie masz (chociaż powinieneś na IIS7) w katalogu głównym swojej witryny. Poniżej zezwala administratorom domeny i odmawia użytkownikom domeny (dość oczywiste). Upewnij się, że wyrównałeś sekcje konfiguracji, jeśli masz już sekcję itp.
<configuration>
<location path="MyPage.aspx/php/html">
<system.web>
<authorization>
<allow users="DOMAIN\Domain Admins"/>
<deny users="DOMAIN\Domain Users"/>
</authorization>
</system.web>
</location>
</configuration>
Aby to zadziałało, musisz włączyć uwierzytelnianie systemu Windows w sekcji Uwierzytelnianie w preferencjach witryny, ale zakładam, że masz już włączone.
Odpowiedź joshatkinsa nie działa w IIS7. W przypadku IIS7 musisz użyć atrybutu roli. Ponadto, jeśli chcesz ograniczyć całą witrynę, nie potrzebujesz elementu lokalizacji.
<authorization>
<allow roles="DOMAIN\Domain Users"/>
<deny users="*" />
</authorization>
Dodając jeszcze kilka punktów do innych odpowiedzi, które pomogły mi wymyślić, jak to zrobić, po tym jak podstawowe uwierzytelnianie AD działało poprawnie z IIS.
jeśli chcesz bezpośrednio edytować plik konfiguracyjny, wyglądałoby to mniej więcej tak:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="myDomain\myGroup01" />
<add accessType="Allow" roles="myDomain\myGroup02" />
</authorization>
</security>
</system.webServer>
</configuration>
Jeśli korzystanie z reguł autoryzacji web.config nie działa (na przykład ponieważ skrypt CGI działa), możesz użyć systemu uprawnień do folderów, aby wyłączyć dziedziczenie, usunąć użytkowników IIS (aby nikt nie miał dostępu do odczytu) i po prostu dodać grupę zabezpieczeń w z dostępem do odczytu. Musisz także włączyć jakąś formę uwierzytelnienia (np. Basic lub Windows Integrated), aby użytkownik został rozpoznany.
Działa także uprawnienie do odczytu folderu tylko dla tej grupy domen.
Wiem, że to bardzo stare pytanie, ale jest to coś, czego potrzebuję w moim środowisku testowym.
To podejście działa dla mnie i dostaję wyskakujące okienko do logowania i mogę się zalogować bez żadnego problemu.
Zastanawiałem się, jak mogę go skonfigurować do korzystania z jednokrotnego logowania? Jeśli zalogowany użytkownik jest członkiem grupy zabezpieczeń, poproś o poświadczenia.
Moje usługi IIS działają w systemie Windows Server 2016 1607, a witryna ma statyczny kod HTML.