Принадлежность пользователей к подразделениям на AD-сервере
Кто есть кто в иерархии компании
Необходимо специальным образом определить на AD-сервере принадлежность пользователей к подразделениям, иерархию подразделений компании, а также начальников подразделений. При импорте пользователей в продукты «1С-Битрикс», эта структура также может быть импортирована, при этом пользователям сразу назначаются нужные подразделения. Также, что более просто, можно задать одно фиксированное подразделение всем пользователям из AD.
Для задания структуры компании в AD используются всего 2 специальных
атрибута пользователя
Свойства, в которых передаются начальник подразделения и наименование подразделения, определяются в настройках сервера на закладке Настройка полей. По умолчанию это department
и manager
.
:
department
- символьное наименование подразделения, к которому относится данный пользователь.manager
- DN (Distinguished name, уникальный идентификатор в AD) пользователя, являющегося начальником данного пользователя.
На основании этой связи и строится иерархия компании:
- Если начальник находится в другом подразделении, то это определяет связь между подразделениями: подразделение
manager
'а считается вышестоящим над данным. При этом текущий пользователь будет считаться начальником своего подразделения. - Если
manager
- в том же подразделении, то никаких дополнительных действий предпринято не будет, и это единственный способ явно указать, что пользователь сам не является начальником подразделения. Из чего можно сделать вывод, что для всех подчиненных в подразделении должен быть задан начальник из него же. - Если у пользователя не задано подразделение, но задан начальник, он считается принадлежащим тому же подразделению, что и начальник. Для начальника будут также действовать все те же правила и умолчания, так что такие "умолчательные" определения могут выстроиться в последовательную цепочку.
- Если задано подразделение, но нет начальника - данное подразделение попадает в корень структуры компании, и пользователь сам будет его начальником.
- Если же у пользователя нет ни подразделения, ни начальника, ему будет присвоено подразделение по умолчанию, задаваемое в настройках модуля.
Пример
Допустим, у нас существует следующая структура:
- Отдел 1 -- Начальник 1 -- Сотрудник 1 -- Отдел 2 -- Начальник 2 -- Сотрудник 2
Чтобы построилась такая иерархия, нужно чтобы у всех сотрудников корректно были заданы подразделения, в которых они работают (в атрибуте department
), а также, чтобы у обоих сотрудников в поле manager
был указан их непосредственный начальник (Начальник 1
и Начальник 2
соответственно). И самый важный момент, у Начальник 2
в атрибуте manager
должен быть указан Начальник 1
.
и Ваше мнение важно для нас