### Алгоритм работы синхронизации AD -> IntraService

Алгоритм работы системы IntraService при заходе пользователя:

- По доменной учетной записи пользователя получаем имя пользователя и домен
- Запрос информации в AD происходит от имени пользователя, от которого запущен сайт
- Ищем пользователя в базе Intraservice
- Если пользователь существует, то получаем профиль по его компании, а из него доменные имена. Если доменное имя заходящего пользователя совпадает с представленными в профиле синхронизации и пользователь существует, то будет выполнен вход в систему
- Если домен заходящего в систему пользователя не совпадает с доменами, заданными в настройках синхронизации, то выводится ошибка
- Если пользователь не существует, то пытаемся его создать
- Ищем пользователя по логину в глобальном каталоге AD
- Если пользователь найден, получаем его MemberOf
- Проверяем на вхождение хотя бы одной группы из MemberOf пользователя в exclude (группы исключения, задаваемые при настройке синхронизации)
- По GUID ищем подразделения, в которые входит пользователь
- Если подразделение найдено, то пользователь будет создан

Алгоритм работы IntraService Agent при синхронизации подразделений и пользователей:

- После настройки синхронизации IntraService Agent обращается к AD по LDAP, пути указанному в настройках. Обращение происходит от имени пользователя, от которого запущен Intraservice Agent
- Если подразделения в Intraservice не существует, то оно создается либо из Distribution Group, либо из Organization Unit
- Происходит удаление и обновление подразделений
- После синхронизации подразделений происходит добавление/удаление/изменение пользователей
- Поиск пользователей в системе осуществляется сначала по member -> distribution groups и если ничего не найдено, то осуществляется поиск пользователей по пути (для organization unit)