Я изменяю свой WCF API, чтобы включить новую услугу, которая должна быть доступна только для внутренних IP-адресов. Все сервисы в моем API доступны в SOAP, POX и JSON. То, что я ищу, - это поведение или что-то, что позволяет мне реализовать простой фильтр IP-адресов, обрабатывать запросы из внутренних IP-адресов и отрицать все остальное. Я бы хотел, чтобы он работал в конфигурации, потому что все остальные службы API должны оставаться доступными в Интернете. Я сделал некоторые поисковые запросы, но не могу найти ничего подобного, встроенного в WCF. Я что-то упускаю?Могу ли я настроить IP-фильтр для службы WCF?
ответ
Хорошо, я понял, и, по-моему, это пятно. Я реализовал систему IP Filter как поведение службы, а затем добавил ее к моей службе в web.config. Вот мой новый веб-конфигурации поведения раздел:
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="RestrictedServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<IPFilter filter="172.*.*.* 127.0.0.1" />
</behavior>
</serviceBehaviors>
Класс IPFilter реализует IDispatchMessageInspector поймать запрос как можно скорее, проверьте IP клиента и выбросить исключение, если он не соответствует фильтру. Если кому-то интересно, я могу опубликовать свой код.
Если ваша служба размещена в IIS, вы можете сделать это с помощью IIS на основе каждого веб-сайта (возможно, для одного приложения, но я не знаю).
Да, я подумал об этом, но пытался избежать этого решения. Поскольку я хочу обеспечить только одну услугу, оставив остальных в приложении открытой, мне придется разделить приложение на две части, отделяя обеспеченные и незащищенные службы. – Steve
- 1. Как настроить basicHttpBinding для службы WCF
- 2. Как настроить клиентов для службы wcf?
- 3. Как я могу вызвать конструктор службы WCF?
- 4. Как я могу вызвать метод службы wcf?
- 5. Могу ли я вернуть производителя данных из службы WCF?
- 6. Должен ли я добавить библиотеку классов службы WCF для размещения службы WCF в службе Windows?
- 7. Настроить адрес службы WCF в Xamarion iOS
- 8. Могу ли я использовать сжатие в WCF?
- 9. Могу ли я настроить мелодии?
- 10. Как я могу динамически установить TransactionTimeout для службы WCF?
- 11. Как настроить работу службы WCF Автоматический запуск
- 12. Могу ли я настроить SSL на Azure для обычного веб-сайта? (Не WCF или MVC)
- 13. Как настроить безопасность SQL Server для службы WCF?
- 14. Могу ли я настроить будильник?
- 15. Как настроить WCF службы конечной точки для клиента третьей стороны
- 16. Могу ли я установить maxConnection в WCF RIA?
- 17. Как настроить защиту для удаленной остановки и запуска службы WCF?
- 18. Могу ли я запустить WCF поверх WebAPI?
- 19. WCF: нужны ли метаданные для использования службы WCF?
- 20. Служба WCF для службы WCF Связь
- 21. Windows Service hosting WCF - Могу ли я остановить службу Windows из службы WCF?
- 22. Инструкции для службы WCF для возврата JSon
- 23. WebSetup для службы WCF
- 24. Как настроить защиту WCF для внутренней службы между двумя доменами?
- 25. Как настроить WCF службы для запуска на Https
- 26. Вызов службы WCF из другой службы WCF
- 27. Использование службы WCF, как я могу проверить действие пользователя приложения?
- 28. Где я могу открыть соединение с MongoDB из службы WCF
- 29. службы WCF, как потребитель другой службы WCF
- 30. Могу ли я использовать INotifyPropertyChanged в WCF?
Мне интересно. Можете ли вы разместить свой код? – zSynopsis
Мне тоже интересно – nat
@Steve Я тоже хотел бы получить код. – krypru