Alfresco Group Синхронизация с Active Directory. Ищете реальный идентификатор группы
У меня Alfresco Community 4.2.e, работающий и синхронизированный с Active Directory с функциональным уровнем 2008. Я импортирую пользователей и группы из Active Directory.
Из ldap-ad-authentication.properties:
# The attribute on LDAP group objects to map to the authority name property in Alfresco
ldap.synchronization.groupIdAttributeName=cn
По политическим причинам в моей организации мне нужно, чтобы названия групп можно было переименовывать без потери какой-либо функциональности. Если я сопоставлю атрибут groupIDAttribute из alfresco с атрибутом 'cn' из Active Directory, и кто-то изменит имя группы, то получится, что все ассоциации группы будут удалены, и люди покинут свои сайты.
Мой вопрос: есть ли какой-либо атрибут из Active Directory, который я мог бы использовать в качестве уникального идентификатора для своих групп в Alfresco? Очевидно, этот идентификатор должен быть "согласованным", поскольку группы находятся в моей среде Active Directory.
1 ответ
К сожалению, репозиторий Alfresco не предназначен для поддержки обмена именами для пользователей и групп (органов). Вы можете изменить отображаемое имя с помощью API Alfresco, но это не то, что вы ищете. По умолчанию изменение имени группы в AD приведет к удалению воссоздания со всеми вытекающими последствиями (любые разрешения для этих групп будут удалены).
Теоретически ваше ожидаемое поведение может быть расширено только для групп, добавив уникальное свойство id в AuthorContainer в Alfresco (например, SID из AD). Кроме того, необходимо расширить логику синхронизации, чтобы синхронизировать AuthorContainers на основе уникального идентификатора вместо групповых CN (и обновлять AuthorName и AuthorDisplayName).
Для переименования пользователей в AD этот подход не будет работать, так как имена пользователей внутренне используются как внешний ключ (!). Мы реализовали модуль для Alfresco >= 4.2(.f) для поддержки изменений имени пользователя в AD, используя альтернативный атрибут AD в качестве имени пользователя alfresco, который никогда не будет изменяться (например, employeeID). Мы внедрили динамический поиск во всех случаях использования аутентификации для поддержки прозрачного входа в систему по имени пользователя AD или внутреннему имени пользователя (и SSO).
Мы могли бы расширить этот модуль групповой логикой, как описано выше.