2009-05-10 3 views
0

Кто-нибудь знает, как точно работает проверка подлинности NTLM в WCF/basicHttp? Интересно, передаются ли учетные данные пользователя для каждого вызова метода службы, или если для последующих вызовов метода обслуживания используется какой-то токен безопасности.Проверка подлинности WCF/basicHttp и NTLM

Точная конфигурация связывания, что я использую:

<bindings> 
    <basicHttpBinding> 
    <binding name="winAuthBasicHttpBinding"> 
     <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="Ntlm" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

Я нашел этот тип конфигурации на ссылке MSDN. Но я не уверен, что это хорошая идея. Альтернативой будет предоставление пользовательского метода GetAuthenticationToken() для предоставления маркера безопасности для всех последующих запросов клиента. Это можно сделать через блок приложений Enterprise Library - Security Application Block.

Дополнительная информация: Услуга используется клиентами браузеров/Silverlight.

+0

любое хорошее и окончательное решение? – Kiquenet

ответ

1

В этом случае каждый вызов метода будет аутентифицирован.

То, о чем вы говорите, будет так называемым «безопасным сеансом», когда клиент аутентифицируется один раз против сервера, а затем для последующих обменов используется общий токен. Однако эти функции защищенных сеансов доступны только с помощью wsHttpBinding, а не с basicHttpBinding.

Marc

+0

К сожалению, Silverlight поддерживает только basicHttpBinding. Считаете ли вы, что эти накладные расходы на аутентификацию заслуживают внимания? – driAn

+1

Ах да, вы оставили эту маленькую деталь (Silverlight) в своем оригинальном посте :-) Как правило, я бы сказал, если доступен встроенный механизм, сначала попробуйте и посмотрите, действительно бросает вызов, чтобы быть проблемой. Не предварительно оптимизируйте слишком много .... также WCF в целом хорошо известен по звездной производительности, поэтому я предполагаю, что все эти биты и куски были максимально оптимизированы по производительности. Дайте ему пойти и посмотреть - если это * ДЕЙСТВИТЕЛЬНО * проблема, а затем начать искать другое решение .... –

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