#asp.net #wcf
#asp.net #wcf
Вопрос:
Мне нужно защитить службу WCF RESTful, я думаю сделать это одним из двух следующих способов…
1: Путем реализации функции, предложенной в этой статье
2: Просто передав имя пользователя и пароль либо в URL, либо в переменных post
Что мне интересно, кто-нибудь это сделал? Это способ сделать это? Если я использую второй вариант, можно ли обвинить это в небезопасности (учитывая, что asp.net формы в любом случае отправляются открытым текстом)?
Комментарии:
1. Аутентификация в формах безопасна благодаря встроенному в нее квитанции с шифрованием . Если вы не используете HTTPS (SSL) для варианта 2, то это небезопасный вариант.
Ответ №1:
Передача информации PII в строке запроса определенно запрещена.
WCF поддерживает базовую аутентификацию «из коробки». Вам нужно будет объединить это с безопасностью транспорта (SSL), чтобы гарантировать безопасное шифрование данных по проводам. Это абсолютно самая низкая форма аутентификации с общим знаменателем в Интернете и будет поддерживаться наиболее широко. Чтобы настроить вашу службу WCF REST с таким типом безопасности, вам просто нужно настроить привязку вашей службы следующим образом:
<webHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</webHttpBinding>
WCF также поддерживает дайджестную аутентификацию из коробки, но только при проверке на соответствие AD сервера, что в значительной степени делает его бесполезным в интернет-сценариях. Итак, чтобы выполнить дайджест-аутентификацию, вам нужно будет написать свою собственную реализацию, которая подключается к среде выполнения безопасности WCF. В Интернете есть несколько примеров того, как это сделать. Тем не менее, если у вас есть SSL, нет реальной выгоды от выполнения дайджест-аутентификации поверх базовой аутентификации.
Комментарии:
1. привет, к сожалению, использовать SSL и AD невозможно .. это упакованное веб-приложение, которое продается клиентам. Вы хотите сказать, что выполнение дайджеста с помощью WCF Rest в этом случае невозможно?
2. Нет, просто WCF не предоставляет ее «из коробки». Итак, вам нужно написать свою собственную реализацию дайджест-аутентификации или найти ту, которую написал кто-то другой. К сожалению, большинство из тех, что я там видел, построены на WCF REST Starter Kit. Лично я бы не рекомендовал этого делать, поскольку Microsoft hs прекратила ее поддержку. Не потребуется много усилий, чтобы взять одну из этих реализаций и написать свою собственную, используя «чистые» точки расширения WCF.
3. Дрю, ты можешь сказать мне, как найти некоторую информацию о том, как «подключиться к процедуре безопасности WCF»? пожалуйста