Alfresco Group Sync com o Active Directory. Procurando por um groupID real

3

Eu tenho uma comunidade Alfresco 4.2.e em execução e sincronizada com o Active Directory com nível funcional 2008. Eu importo usuários e grupos do Active Directory.

De ldap-ad-authentication.properties:

# The attribute on LDAP group objects to map to the authority name property in Alfresco
ldap.synchronization.groupIdAttributeName=cn

Por motivos políticos em minha organização, preciso que os nomes dos grupos possam ser renomeados sem perder nenhuma funcionalidade. Se eu mapear o atributo groupIDAttribute de alfresco para o atributo 'cn' do Active Directory e alguém alterar o nome de um grupo, o resultado é que todas as associações do grupo são excluídas e as pessoas deixam seus sites.

Minha pergunta: Existe algum atributo do Active Directory, que eu poderia usar como identificador exclusivo para meus grupos no Alfresco? Obviamente, esse ID precisa ser 'renomeado consistente', pois os grupos estão no meu ambiente do Active Directory.

    
por jrbuleo 27.01.2015 / 12:38

1 resposta

3

Infelizmente, o repositório Alfresco não foi projetado para suportar mudanças de nome para usuários e grupos (autoridades). Você pode alterar o nome de exibição usando a API Alfresco, mas isso não é o que você está procurando. Por padrão, uma alteração de nome de um grupo no AD resultará em uma exclusão e uma recriação com todas as consequências (quaisquer concessões para esses grupos serão removidas).

Em teoria, o comportamento esperado pode ser estendido para grupos apenas adicionando uma propriedade id exclusiva ao authorityContainer no Alfresco (por exemplo, SID do AD). Além disso, a lógica de sincronização precisa ser estendida para sincronizar authorityContainers com base em um ID exclusivo em vez de CNs do grupo (e atualizar authorityName e authorityDisplayName).

Para renomear usuários no AD, essa abordagem não funcionaria, pois nomes de usuários são usados alfresco internamente como chave estrangeira (!). Implementamos um módulo para Alfresco > = 4.2 (.f) para suportar alterações de nome de usuário no AD usando um atributo AD alternativo como nome de usuário ao mesmo tempo que nunca será sujeito a alterações (por exemplo, employeeID). Injetamos uma busca dinâmica em todos os casos de uso de autenticação para suportar um login transparente pelo nome de usuário AD ou nome de usuário (e SSO) alfresco-internal.

Nós poderíamos estender esse módulo com a lógica de grupo como descrito acima.

    
por 04.03.2015 / 18:06