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