2009-06-17 2 views
0

У меня есть несколько веб-сервисов.За безопасность моих веб-сервисов

Они используются приложением Silverlight и сами по себе другими приложениями.

Каков наилучший способ их обеспечить, чтобы хакеры не могли получить к ним доступ напрямую?

В настоящее время они заблокированы для локального хоста, а затем приложение silverlight вызывает веб-приложение, и веб-приложение вызывает веб-службы.

Ненавижу это решение, потому что оно добавляет еще один слой, и есть удар по производительности.

Не хотите менять код веб-службы, если это вообще возможно.

+0

Что именно вы хотите? Некоторая группа пользователей будет иметь доступ, а другие - нет, не так ли? Рассматривали ли вы использование проверки подлинности Windows для своего приложения или так? –

+0

защищает веб-службы по заявке – zachary

ответ

1

Вы пробовали просто изменить конфигурацию службы и клиента для использования basicHttpBinding с SSL?

Я не знаю достаточно о SilverLight, чтобы узнать, поддерживает ли он wsHttpBinding, но вы также можете попробовать это.

+0

Будет ли это мешать хакеру напрямую обращаться к веб-сервису или это просто обеспечит безопасность? – zachary

+0

Нет, просто обеспечьте транспорт. –

+0

К сожалению, Silverlight 2 не поддерживает wsHttpBinding. Могут использоваться только встроенные механизмы ASP.Net. –

0
  • IIS может быть настроен только на подключение только определенных IP-адресов. Сначала я сконфигурировал ваши веб-сервисы.
  • Кроме того, если вы используете WCF вы можете использовать HTTPS и сертификаты для управления обеспечительного права в инструменте конфигурации конечных точек WCF

Я хотел бы использовать один или оба из этих методов сам.

+0

asp.net веб-сервис тоже можно использовать https. –

+0

В настоящее время я разрешаю подключение только к определенным IP-адресам. Я надеялся, что есть лучший способ. Проблема здесь в том, что silverlight находится на клиентской машине, поэтому мне нужно, чтобы Silverlight вызывал веб-службу на веб-сервере, а затем приложение веб-сервера совершает второй звонок. Это удваивает вызовы веб-сервисов и приводит к хиту производительности, которого я надеялся избежать. – zachary

0

Если вы используете ASP.NET и WCF, вы можете использовать встроенную аутентификацию ASP.NET и поместить требуемый тег проверки подлинности ASP.NET на свои веб-службы. Об этом замечательный скринкаст here.

0

Вот моя любимая ссылка на эту тему.

http://timheuer.com/blog/archive/2008/10/14/calling-secure-services-with-silverlight-2-ssl-https.aspx

Короче говоря, использовать BasicHttpBinding (или customBinding в Silverlight 3) с HTTPS. Работает как шарм в сочетании с ASP.NET Application Services. Вот хороший обзор Silverlight безопасности HTTP:

http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx

Смежные вопросы