Назад | Перейти на главную страницу

Включить просмотр каталогов IIS для определенного пользователя или группы

Дома у меня есть небольшой сервер под управлением Windows Server 2012 и IIS8 (без AD). Я хочу, чтобы некоторые пользователи на моем сервере имели доступ к общему каталогу файлов, чтобы они могли загружать его через https.

Я создал веб-сайт в диспетчере IIS, установил базовый каталог в общую папку, включил просмотр каталогов для этого веб-сайта, отключил анонимную аутентификацию и включил аутентификацию Windows. Доступ из интернета и https с подписанным сертификатом также настроен и работает.

Все идет нормально. Когда я захожу на свой сервер, меня спрашивают мои учетные данные (хорошо). К сожалению, все пользователей локального сервера разрешен доступ к папке, даже встроенной гостевой учетной записи (плохо). Теперь я хочу ограничить доступ для некоторых пользователей, которых я включил в группу под названием WebFiles Users. Итак, я попробовал кое-что, что знаю из веб-программирования - я добавил authorization тег к web.config который теперь выглядит так:

<configuration>
    <system.web>
        <authorization>
            <allow roles="MyServer\WebFiles Users" />
            <deny users="*" />
        </authorization>
    </system.web>

    <!-- this was created by the IIS manager: -->
    <system.webServer>
        <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

Но не работает. Я все еще могу получить доступ к веб-сайту с гостевым пользователем. Кто-нибудь может сказать мне, что я сделал не так?

system.web - это то, что применяется к управляемому контенту asp.net, а не к статическим файлам.

Вместо этого вы хотите использовать system.webserver. Узел:

 <configuration>
     <system.webServer>
         <security>
             <authorization>

должен покрыть это.

В диспетчере IIS вместо раздела ASP.NET используйте раздел IIS, а затем значок «Правила авторизации».