Ogranicz dostęp do witryny IIS do grupy reklam


22

Czy w usługach IIS jest możliwe skonfigurowanie witryny w usługach IIS i zezwalanie na dostęp tylko użytkownikom określonej grupy reklam?

Odpowiedzi:


18

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.


Na jakich wersjach IIS działa to?
svandragt

14

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>

9
Nie używaj odniesień takich jak „powyżej” lub „poniżej”, ponieważ nie masz możliwości ustalenia, w jakiej kolejności osoba widzi odpowiedzi. Problem pogarsza się z czasem, gdy publikowanych jest więcej odpowiedzi. Zamiast tego powinieneś odwołać się do nazwy plakatu, do którego odnosi się odpowiedź.
John Gardeniers,

11

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.

  1. Dodaj rolę lub funkcję za pomocą Menedżera systemu Windows Server : Serwer sieci Web (IIS) -> Serwer sieci Web -> Bezpieczeństwo -> Autoryzacja adresu URL.
  2. Zamknij, a następnie ponownie otwórz Menedżera IIS (jeśli go masz), teraz zobaczysz (w sekcji IIS dla Twojej witryny) Reguły autoryzacji . Otwórz to.
  3. Kliknij prawy panel boczny: Dodaj regułę
  4. W obszarze Określone role lub grupy użytkowników wpisz nazwę potrzebnej grupy AD. na przykład. mojaDomena \ mojaGrupa i wybierz OK .
  5. Powtórz 4 dla potrzebnych grup.

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>

Będziesz także musiał włączyć uwierzytelnianie systemu Windows (NTLM / Curb). W przeciwnym razie, jeśli nie można ustalić tożsamości sesji przeglądarki, jak mogłaby działać autoryzacja oparta na rolach? Po zastosowaniu się do wskazówek i włączeniu uwierzytelniania systemu Windows to działa!
KFL,

3

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.


Podoba mi się ta metoda, może nie odpowiadać potrzebom wszystkich, ale nie trzeba się bawić z web.config
osoba


0

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.