Alfresco Group与Active Directory同步。 寻找一个真正的groupID

我有一个Alfresco社区4.2.e与function级别2008的Active Directory运行和同步。我从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 

出于我组织的政治原因,我需要在不失去任何function的情况下重命名组名。 如果将groupIDAttribute从户外映射到Active Directory中的“cn”属性,并且某人更改了某个组的名称,则会导致该组的所有关联都被删除,并且人们将离开其网站。

我的问题:是否有Active Directory的任何属性,我可以用作我的组在Alfresco的唯一标识符? 显然这个ID必须是“重命名一致的”,因为这些组在我的Active Directory环境中。

不幸的是,Alfresco的存储库不是为了支持用户和组(名称)的名称更改而devise的。 您可以通过使用Alfresco API来更改显示名称,但这不是您正在查找的内容。 默认情况下,AD中某个组的名称更改会导致删除重新创build,并产生所有后果(任何对这些组的授予都将被删除)。

从理论上讲,只有在Alfresco的authorityContainer中添加一个唯一的id属性(例如AD的SID),才能扩展组的预期行为。 此外,同步逻辑需要扩展为基于唯一ID而不是组CN(同时更新authorityName和authorityDisplayName)来同步authorityContainers。

对于在AD中重命名用户,这个方法是行不通的,因为用户名被作为外键(!)在户外使用。 我们实现了一个用于Alfresco> = 4.2(.f)的模块来支持AD中的用户名更改,方法是使用一个替代的AD属性作为永远不会改变的alfresco用户名(例如employeeID)。 我们在所有身份validation用例中注入了dynamic查找,以支持通过AD用户名户外内部用户名(以及SSO)进行的透明login

我们可以用上面描述的组逻辑扩展这个模块。