Как обезопасить веб-сервис в c # 2.0 и упростить его использование для любой платформы - PullRequest
1 голос
/ 19 июля 2011

Как обезопасить веб-сервис и упростить его использование для любой платформы.

Настройка: Asp.NET 2.0, Dot Net 2.0, c # 2.0, Visual Studio 2005. Веб-сервер является IIS и использует https (SSL)

  1. Я хотел бы избежать установки чего-либокак WSE 3.0.Я предпочитаю чистый метод c #, который можно взять с собой в будущие версии Visual Studio и IIS.
  2. Каждый должен иметь возможность посещать URL-адрес и описание веб-службы и видеть WSDL без аутентификации.
  3. Защита поможет предотвратить отправку нежелательной почты на методы нашего веб-сервиса.
  4. Простая реализация: я не хочу управлять сертификатами для клиентов или устанавливать что-либо.
  5. клиент только отправляетимя пользователя и пароль.

Значит ли это, что аутентификация заголовка SOAP является единственным способом?Я нашел эти ссылки, но не знаю, будут ли они работать не для клиентов .NET?
http://aspalliance.com/805 и http://www.codeproject.com/KB/webservices/SOAPHeaderAuthentication.aspx

Я также вижу эту статью но не знаю, если и как это реализовать (не очень хороший пример).

Пожалуйста, сообщите или дайте мне хорошую ссылку (нет видео, пожалуйста).Спасибо!

Ответы [ 3 ]

2 голосов
/ 19 июля 2011

Лучше всего было бы перейти на WCF, поскольку встроенные опции намного лучше. Если вы застряли в среде 2.0 / SOAP, то настраиваемый заголовок SOAP будет работать на большинстве платформ - я успешно использовал их из .NET, COM + и PHP раньше. Вы можете поддержать пользователя / передать с помощью типичных битов авторизации ASP.NET, включая базу данных sql. Тем не менее, если цель безопасности заключается в сокращении спама, и у вас нет такого огромного множества сервисных методов для «защиты», то вы можете просто добавить параметр «UserKey» в свой метод, а затем проверить (или по крайней мере, ограничение скорости) против этого.

1 голос
/ 19 июля 2011
  1. Вам следует обновить свое решение до WCF. Если вы можете, вы можете легко выбрать Тип учетных данных для своих клиентов. См. Также Защита службы WCF, статья
  2. Заголовки SOAP будут работать не для клиентов .NET, если они могут создать необходимый xml для запроса.
  3. Используйте эту статью для простого примера использования заголовка SOAP.
0 голосов
/ 19 июля 2011

Недостаточно базовой аутентификации в IIS? Потребителям услуг легко передать базовые параметры аутентификации с помощью запроса.

...