У меня 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.
К сожалению, репозиторий Alfresco не предназначен для поддержки изменения имен для пользователей и групп (властей). Вы можете изменить отображаемое имя с помощью Alfresco API, но это не то, что вам нужно. По умолчанию изменение имени группы в AD приведет к удалению и воссозданию со всеми последствиями (любые права доступа к этим группам будут удалены).
Теоретически ваше ожидаемое поведение может быть расширено для групп только путем добавления уникального свойства id в AuthorityContainer в Alfresco (например, SID из AD). Кроме того, необходимо расширить логику синхронизации для синхронизации AuthorityContainers на основе уникального идентификатора, а не групповых CN (и обновления AuthorName и AuthorDisplayName).
Для переименования пользователей в AD этот подход не сработает, поскольку имена пользователей используются на открытом воздухе внутри как внешний ключ (!). Мы реализовали модуль для Alfresco> = 4.2 (.f) для поддержки изменений имени пользователя в AD, используя альтернативный атрибут AD в качестве имени пользователя alfresco, которое никогда не будет подвергаться изменениям (например, employeeID). Мы внедрили динамический поиск во все сценарии использования аутентификации для поддержки прозрачного авторизоваться по имени пользователя AD или внутреннее имя пользователя alfresco (и SSO).
Мы может расширить этот модуль с помощью групповой логики, как описано выше.