Аутентифицироваться в LDAP с помощью дайджеста? - PullRequest
0 голосов
/ 17 августа 2011

Мое веб-приложение использует дайджест-проверку подлинности. На стороне сервера нет пароля пользователя. Теперь мне нужно аутентифицировать пользователя в LDAP.

Возможно ли это? Любой пример в .Net / C #?

Я могу изменить свой алгоритм реализации дайджеста, но не могу изменить его на Basic или любую другую аутентификацию из-за требований.

Редактировать: Насколько я вижу, есть свойство System.DirectoryServices.Protocols.LdapConnection.AuthType, которое может быть установлено в AuthType.Digest. Как мне использовать этот параметр?

Ответы [ 2 ]

0 голосов
/ 31 июля 2012

Это может быть возможно, если в вашем здании что-то новое.

Вы можете добавить HA1 в качестве атрибута в LDAP при создании пользователя. HA1 = MD5 (имя пользователя: realm: пароль) для дайджеста Http.

Затем, когда пользователь заходит на веб-сервер и предоставляет заголовок авторизации. Вы могли бы восстановить авторизацию, используя HA1 из LDAP, и сравнить результат ... Но вам нужно было бы получить доступ к значению HA1 пользователя, используя учетные данные системного администратора, что является не лучшим способом.

0 голосов
/ 17 августа 2011

Краткий ответ: нет.

От вас требуется , чтобы программно предоставить текстовый пароль для процедуры аутентификации LDAP, который вы не можете получить из дайджеста - это своего рода точка дайджеста.

Единственное, что я могу обойти, - это подключиться к LDAP с учетной записью высокого уровня и проверить, может ли пользователь делать то, что он пытается с этим сделать.

Если вы пытаетесь проверить логин пользователя с помощью LDAP, вы немного напичканы. Вот почему большинство веб-служб, которые проходят проверку подлинности с использованием AD, являются либо базовой аутентификацией через HTTPS, либо используют аутентификацию NTLM ...

...