Мне нужно получить некоторые данные для входа в AD от пользователя. Мне нужно проверить, что пользователь ввел действительные учетные данные, и найти некоторые атрибуты (электронная почта и т.д.) Для этой учетной записи пользователя.

Я понятия не имею, а также мне все равно, какой тип «имени пользователя» они вводят, это может быть полностью определенное имя samAccountName, просто samAccountName само по себе, UPN или что-то еще: до тех пор, пока AD говорит, что оно действительно, я счастливый.

Моя проблема в том, что как только я зайду так далеко, каков наилучший способ выяснить, какой пользователь только что вошел в систему? Как, как я узнаю, из какой записи LDAP искать атрибуты? Если бы я знал, что захватил samAccountName, я мог бы выполнить запрос LDAP для:

(&(objectCategory=user)(samaccountname={0}))

Но я не знаю, что у меня есть, это может быть имя samaccount, а может и нет. Это может быть что угодно. Я мог бы создать массивный запрос для поиска каждого возможного атрибута по «имени пользователя», которое они ввели, но это выглядит немного неправильно ...

Когда вы входите в Windows 10 с учетной записью домена, он ищет ваше имя / фамилию и показывает это на экране прогресса при входе в систему. Как именно это сделать? Есть ли функция, которую я могу вызвать в соединении ldap, чтобы узнать, что такое DN аутентифицированного пользователя? Или экран входа Windows имеет встроенный фильтр LDAP, который он использует, который я мог бы скопировать?

1 ответ1

0

Форматы имени пользователя в MSDN указывают, какие форматы ожидаются. Короче есть только два ожидаемых формата. Домен DOMAIN\user или user@domain . Windows делает это с помощью соответствующих API, которые могут отличаться в зависимости от приложения, если они написаны на разных языках.

Поскольку вы ожидаете, что пользователь введет имя, должно быть очевидно, что вы ищете, точно так же, как вы можете запросить учетные данные, которые снова должны сделать очевидным, кто является донором запроса. Если вы разрешите анонимные поиски, которые запускаются из общей учетной записи, вы не сможете определить, кто (физически) выполняет поиск.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .