Безопасность файлов (ограничения доступа по IP-адресу) в IIS7 - PullRequest
16 голосов
/ 07 апреля 2010

У меня есть веб-сервис, который содержит 2 файла asmx (public.asmx и private.asmx). На IIS6 я мог перейти к свойствам private.asmx, а затем на вкладке «Безопасность файлов» запретить доступ ко всем компьютерам, кроме IP-адреса для localhost.

В IIS7 мне кажется, что я могу сделать это только для всей папки. Чего мне не хватает?

Ответы [ 2 ]

28 голосов
/ 09 апреля 2010

Забавно - я нашел этот вопрос, потому что у меня та же проблема, но я думаю, что решение заключается в следующем:

  1. В IIS7 перейдите в каталог, содержащий ваши файлы public.asmx и private.asmx.
  2. Заголовок вверху будет отражать текущий каталог, например, «Домашняя страница WebService». Нажмите кнопку «Просмотр содержимого» внизу.
  3. Щелкните правой кнопкой мыши свой файл public.asmx и выберите «Переключиться на просмотр функций».
  4. Заголовок должен быть «public.asmx Home», чтобы подтвердить, что вы управляете одним файлом.
  5. Добавьте свои ограничения IP. В этом случае, я думаю, вам нужна запись Разрешить для 127.0.0.1 и выбрать «Редактировать настройки функций» в меню «Действие», чтобы запретить доступ неопределенным клиентам.
  6. Снова щелкните папку с содержимым (например, WebService) и снова переключитесь на просмотр содержимого, чтобы повторить эти шаги для private.asmx.

Я сам изучаю веревки IIS7, но надеюсь, что это ответит на ваш вопрос.

6 голосов
/ 30 января 2012

Нашел этот вопрос через Google и искал, как это сделать через файл .config, но не смог найти этот ответ здесь. С тех пор я выследил информацию:

Элемент ipSecurity используется web.config в IIS7 для ограничения доступа по IP-адресу. Вы можете использовать это так:

<configuration>
    <location path="private.asmx">
        <system.webServer>
            <security>
                <ipSecurity>
                    <add ipAddress="192.168.100.1" />
                    <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
                </ipSecurity>
            </security>
        </system.webServer>
    </location>
</configuration>

Обновление: Обратите внимание, что для включения этой защиты необходимо добавить роль. См. Статью ipSecurity, указанную выше.

...