Мне нужно создать простой веб-сервис для ввода и вывода данных из системы управления персоналом через Интернет (это хост-решение). Я использую IIS и ASP.Net с .Net 2.0.
Изучив его, можно сделать несколько способов обеспечения безопасности веб-службы - я приведу несколько советов о том, какой метод выбрать, с некоторыми взглядами на достоинства и недостатки.
Вот методы, которые я знаю:
SoapHeaders через SSL
Разместите UID / PWD в заголовке Soap и внедрите расширение SOAP ( ссылка ).
Довольно прост в реализации и должен быть достаточно безопасным по SSL. Это, безусловно, мой предпочтительный вариант из-за относительной простоты. Кроме того, по историческим причинам мне нужно будет использовать веб-сервис из VBScript для всех вещей, поэтому возможность иметь дело только с простым SOAP является бонусом.
Однако есть ли какие-либо предостережения? Я собираюсь попросить клиентов жаловаться, что это угроза безопасности?
Использование WCF с TransportWithMessageCredential
Я нашел много старых статей, относящихся к WS, и если я не ошибаюсь, это то, что теперь предусмотрено в WCF? Эта ссылка Microsoft содержит учебник для начинающих.
Если я правильно понимаю, для аутентификации используется безопасность на основе сертификатов между клиентом и сервером. Это правильно, или я правильно понял?
Я подозреваю, что это будет гораздо большая работа, по крайней мере, в плане реализации. Кроме того, я не смогу получить доступ к веб-сервису напрямую из VBScript, поэтому мне придется написать вызов dll it call, а затем развернуть его локально - правильно?
Это доступно даже в .Net 2.0?
Другие методы
- Я могу запретить анонимный доступ к
ASMX-файл и использовать полагаться на IIS для
сделать аутентификацию через
вызов / ответ. Это на самом деле
практично в моем сценарии, но чувствует
очень не элегантно (и не знаю, как
сделать эту работу из VBScript либо).
- Передача UID в вызов метода
бедный двоюродный брат SoapHeader так
Я не буду этим пользоваться.
Буду очень признателен за любые советы по наилучшему подходу к этой проблеме. Если у кого-то есть хороший аргумент, почему мыльные заголовки безопасны, то я хотел бы услышать его, так как это кажется самым простым в использовании, если оно «достаточно безопасно» .