Общая концепция миграции из Active Directory (далее АД)
Когда миграция с АД, то в системе существует два типа пользователей. Одни пришли из АД, а другие созданы непосредственно в системе (будет называть их внутренними). Отличаются они полем Email - у пользователей из АД в этом поле НЕ содержится символа собачки (@), а у внутренних пользователей это поле представляет собой адрес электронной почты, через которых они зарегистрировались в системе. Исключением является главный пользователь root, у которого это поле равно root и он является внутренним.
Существует две миграции с АД: множественная и единичная. Множественная миграция происходит по расписанию, например раз в сутки. И выполняется для всех пользователей, которые есть в АД. А единичная происходит во время пользователя в систему. Когда пользователь вводит свой логин и пароль, то система смотрит, если ли в логине собачка. Если есть, то происходит аутентификация среди внутренних пользователей. А если собачки нет, то система пытается аутентифицировать пользователя в АД по протоколу LDAP. Если происходит, то дальше система производит миграцию этого пользователя из АД. При этом в системе создаётся новый пользователь, если его ещё не было, или обновляется существующий, если он уже есть. И уже после синхронизации производиться авторизация, чтобы права у него были в соответствии с состоянием АД.