Безопасность файлов (ограничения доступа по IP-адресу) в IIS7
У меня есть веб-сервис, который содержит 2 файла asmx (public.asmx и private.asmx). На IIS6 я мог перейти к свойствам private.asmx, а затем на вкладке "Безопасность файлов" запретить доступ ко всем компьютерам, кроме IP-адреса для localhost.
В IIS7 кажется, что я могу сделать это только для всей папки. Что мне не хватает?
2 ответа
Забавно - я нашел этот вопрос, потому что у меня та же проблема, но я думаю, что решение заключается в следующем:
- В IIS7 перейдите в каталог, содержащий ваши файлы public.asmx и private.asmx.
- Заголовок вверху будет отражать текущий каталог, например, "Домашняя страница WebService". Нажмите кнопку "Просмотр содержимого" внизу.
- Щелкните правой кнопкой мыши на вашем файле public.asmx и выберите "Переключиться на просмотр функций".
- Заголовок должен быть "public.asmx Home", чтобы подтвердить, что вы управляете одним файлом.
- Добавьте свои ограничения IP. В этом случае, я думаю, вам нужна запись Разрешить для 127.0.0.1 и выбрать "Редактировать настройки функций" в меню "Действие", чтобы запретить доступ неуказанным клиентам.
- Снова щелкните папку с содержимым (например, WebService) и снова переключитесь на просмотр содержимого, чтобы повторить эти шаги на private.asmx.
Я сам изучаю веревки IIS7, но надеюсь, что это ответит на ваш вопрос.
Нашел этот вопрос через 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
статья связана выше.