Как защитить веб-службы WCF, размещенные в службе Windows? - PullRequest
2 голосов
/ 27 марта 2012

У меня есть один вопрос о безопасности веб-службы WCF. В настоящее время мы разрабатываем один мобильный проект для Android и используем веб-сервис wcf для передачи данных и манипулирования ими. Мы используем basicHttpBinding и размещаем веб-сервис как Window Service .

В настоящее время у нас нет режима безопасности, и я боюсь, что каждый может использовать наш веб-сервис, если знает адрес службы. Например, у нас есть один метод сервиса, который возвращает строковое значение. В настоящее время я могу добавить этот сервис в другой проект Visual Studio и мобильный проект, и мы можем использовать его в любое время.

//WCF Service Method
public string DoWork()
{
      return "This is return string!";
}

    //We can consume it like below from other dot net project by adding service reference.
   //Actually, those are not real client.
    ServiceReference1.WebServiceClient serv = new TestingPrj.ServiceReference1.WebServiceClient();
    string result = serv.DoWork();

Мой вопрос: как я могу защитить свой веб-сервис для реальных клиентов? Я не хочу, чтобы другие проекты и люди пользовались нашими веб-сервисами.

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Самый простой способ - использовать базовую аутентификацию по SSL. Базовая аутентификация требует, чтобы у клиента была пара имя пользователя / пароль, которую будет знать только ваше приложение. Если аутентификация предназначена только для того, чтобы узнать, является ли ваш клиент правильным (вместо того, чтобы знать, к какому пользователю подключается), тогда вы можете использовать одно жестко закодированное имя пользователя / пароль.

Также следует использовать SSL, чтобы учетные данные не передавались по проводам в виде простого текста и потенциально могли быть прослушаны.

0 голосов
/ 27 марта 2012

Использование SSL-сертификатов - самый безопасный способ.

...