Привет, модератор
Ну тут проблем несколько:
1. В примере из MSDN обертка над SSPI реализова на managed C++, чего можно избежать (это помимо того, что в версии .NET < 2.0 managed C++ прямо скажем... недоделан)
2. Аутентификация прикручена к каналу кастомными синками, что с отдной стороны хорошо (это стандартный способ расширения фугкциональности канала), а с другой плохо: в этом случае канал ничего не знает о аутентификации, а значит не может адекватно отреагировать на access denied. В нашем проекте подразумевается наличие unmanaged клиента, в коде которого нет никакого резона наворачивать функциональность синков — просто получили от сервера статус ACCESS_DENIED и отреагировали аутентификацией.
3. Нет поддержки SChannel и Basic/Digest
4. Хочется написать самому
Но на самом деле решение еще не принято окончательно, вполне возможно, что я склонюсь в сторону использования синков.
Вадим.