Вероятно, это проблема с форматом имени пользователя. При аутентификации пользователя ADAM в SDS необходимо использовать простое связывание LDAP и использовать формат имени, поддерживаемый ADAM. Технически ADAM также позволяет вам использовать Digest auth, но это не доступно в SDS (только SDS.Protocols), так что это не относится к вашему подходу кода.
Вы используете простое связывание, потому что у вас есть AuthenticationTypes.None, так что часть в порядке. Часть, которая, вероятно, неверна, - это формат имени пользователя.
ADAM принимает полное DN пользователя, его displayName (если установлено и уникальное) и / или userPrincipalName (если установлено и уникальное) в качестве «привязываемого» имени пользователя, поэтому начните с полного DN пользователя и посмотрите, работает ли это , Если это так, вы можете попробовать другие значения имени пользователя. Обратите внимание, что вы можете поместить все, что вы хотите для displayName или userPrincipalName в ADAM. Там нет проверки. Просто убедитесь, что значения уникальны.
Если вы действительно хотите выполнить какой-либо тип аутентификации связывания с ADAM, вы получите лучшую производительность и масштабирование с помощью метода ValidateCredentials PrincipalContext в .NET 3.5.
Подобные вещи документируются и обсуждаются на форумах постоянно по адресу http://www.directoryprogramming.net, и я часто бываю там, потому что это мой сайт. :) Друг сообщил мне об этом сообщении, иначе я бы никогда его не увидел.