Мне нужно получить некоторые данные для входа в AD от пользователя. Мне нужно проверить, что пользователь ввел действительные учетные данные, и найти некоторые атрибуты (электронная почта и т.д.) Для этой учетной записи пользователя.
Я понятия не имею, а также мне все равно, какой тип «имени пользователя» они вводят, это может быть полностью определенное имя samAccountName, просто samAccountName само по себе, UPN или что-то еще: до тех пор, пока AD говорит, что оно действительно, я счастливый.
Моя проблема в том, что как только я зайду так далеко, каков наилучший способ выяснить, какой пользователь только что вошел в систему? Как, как я узнаю, из какой записи LDAP искать атрибуты? Если бы я знал, что захватил samAccountName, я мог бы выполнить запрос LDAP для:
(&(objectCategory=user)(samaccountname={0}))
Но я не знаю, что у меня есть, это может быть имя samaccount, а может и нет. Это может быть что угодно. Я мог бы создать массивный запрос для поиска каждого возможного атрибута по «имени пользователя», которое они ввели, но это выглядит немного неправильно ...
Когда вы входите в Windows 10 с учетной записью домена, он ищет ваше имя / фамилию и показывает это на экране прогресса при входе в систему. Как именно это сделать? Есть ли функция, которую я могу вызвать в соединении ldap, чтобы узнать, что такое DN аутентифицированного пользователя? Или экран входа Windows имеет встроенный фильтр LDAP, который он использует, который я мог бы скопировать?