2017-02-21 64 views
0

У меня есть веб-служба C# .net wcf на сервере Windows с iis. Мне нужно знать, есть ли способ сообщить веб-службе, что он может принимать запрос только с определенного URL-адреса. пример: ApplicationA называют ApplicationAwebService = должен работать ApplicationB называть ApplicationAwebService = должно быть отказанообеспечить доступ к веб-сервису только авторизованными приложениями

Прямо сейчас, они все на том же сервере, но мне нужно решение, которое работает, даже если они находятся на другом сервере (3tier Приложения). thanks

+0

И как вы знаете, какое приложение звонит веб-сервис? Возможно, по IP-адресу клиента? –

ответ

1

Если вы используете WCF, тогда можно использовать взаимную аутентификацию между службами и клиентами. Взаимная аутентификация обеспечивает не только безопасность для сервера, чтобы принимать подключения от законных клиентов, но и предоставляет клиентам возможность проверить, что они разговаривают с законным сервером.

Взаимная аутентификация может быть достигнута посредством защиты сообщений (шифрование данных, передаваемых между клиентом и сервером и наоборот) с использованием сертификатов, кеберосов (Windows auth), токенов и конфигурации имени пользователя/пароля.

Взаимная аутентификация также может быть достигнуто в WCF через rolebased аутентификации, идентичностей и ресурсов проверки подлинности на основе

Reference из MSDN: https://msdn.microsoft.com/en-us/library/ff647503.aspx

+0

Прочитав информацию, я все еще не уверен, что это то, что я ищу. Мне нужен webserviceA, чтобы разрешить только связь между ApplicationA, а не applicationB. Когда они находятся на одном сервере, все уже является проверкой подлинности Windows, поэтому у них есть все доступ. Поэтому ApplicationB может попробовать позвонить в webserviceA, и мне нужно запретить этот доступ. Я мог бы использовать URL разрешенного приложения, если это может быть вариант. –

+0

Проверьте http://stackoverflow.com/questions/1075618/limit-access-of-asmx-web-service-to-specific-ip-addresses, если вы используете IIS – uzr