Ограничить доступ веб-службы asmx к определенным IP-адресам

Мне нужно ограничить доступ веб-службы .asmx к определенным IP-адресам. Я полагаю, что я мог бы добавить жестко проверенную проверку в каждый метод, но это похоже на кошмар обслуживания кода. Могу ли я внести в веб-конфигурацию запись или настройку IIS 6, которую можно применить к файлу .asmx?

 The Matt02 июл. 2009 г., 19:18
У вас есть доступ к серверу?
 John Saunders02 июл. 2009 г., 20:40
IIS поддерживает ограничение доступа по IP-адресу, а также другие вещи.
 DMCS02 июл. 2009 г., 19:41
Ага. Конечно да. Это работает IIS 6.

Ответы на вопрос(2)

а затем запросите этот раздел для получения белого списка IP-адресов.

 DMCS02 июл. 2009 г., 19:29
У меня есть раздел хранилища конфигурации, но, опять же, я не хочу писать логику проверки IP для каждого метода. Я ищу что-то более элегантное. Настройка IIS или что-то вроде FormsAuthentication, но только для этого файла, который будет ограничен IP-адресами, которые я хочу.
 02 июл. 2009 г., 20:49
Я добавил способ IIS в другом ответе, но я буду придерживаться этого. Он хранит ваш белый список в web.config, где больше конфигурации вашего сайта, и позволяет вам быть более гибким, если вы хотите что-то более хитрое, чем белый список или черный список. Я думаю, что это было бы более элегантным решением. Кроме того, маршрут метаданных IIS может потеряться, если кто-то что-то изменит в дереве и перезапишет.
 DMCS02 июл. 2009 г., 20:58
Проблема заключается в коде в каждом из вызовов веб-службы, который плохо обслуживается и сохраняется во всех будущих добавлениях к файлу .asmx другими разработчиками (которые, несомненно, забудут). Белый список в IIS - лучший способ сохранить его простым, поэтому, если изменения действительно происходят, не нужно отправлять целый новый набор кодов через QA (дорогостоящий процесс с точки зрения времени и ресурсов), а затем повторно развертывать (не так дорого). как QA, но все еще тратит впустую время людей). Так что самое быстрое, что нужно сделать, это сохранить их в белом списке IIS 6. :)
 03 июл. 2009 г., 01:00
С другой стороны, я могу утверждать, что метод IIS ухудшается в обслуживании и может быть забыт при переходе на новую машину. Все сводится к тому, работает ли белый список IIS для вас и что легче поддерживать. Рад, что смог помочь в любом случае!
Решение Вопроса

Перейдите на вкладку «Безопасность файла» и нажмите кнопку «Изменить» в разделе «Ограничения IP-адреса и имени домена».

Нажмите «Отказано в доступе»; переключатель, затем добавьте свои IP-адреса из белого списка в список.

Для IIS 7.5 это немного сложно, поскольку файл не отображается на панели навигации. Вам необходимо перейти на вкладку «Представление содержимого» (в нижней части окна), щелкнуть правой кнопкой мыши файл и выбрать «Переключиться на представление компонентов». Откройте IP-адрес и ограничение домена, нажмите «Изменить параметры функции» и выберите запретить неуказанные хосты. Теперь вы можете добавить авторизации, нажав Добавить разрешить запись.

 11 июн. 2015 г., 00:47
Хороший улов ... Я не понял, что вы должны добавить его отдельно.
 10 июн. 2015 г., 00:34
Обратите внимание, что IP-безопасность - это функция, которая не предустановлена в Windows 7 / IIS 7.5. Вы должны добавить его:iis.net/configreference/system.webserver/security/ipsecurity/…

Ваш ответ на вопрос