Os resultados da pesquisa LDAP são transacionais?

1

Quando um cliente faz uma pesquisa LDAP em um diretório como o AD ou o OpenLDAP, os resultados retornados são necessários para representar o estado do diretório antes ou depois que qualquer operação de modificação foi executada?

Ou, em outras palavras, se eu fizer uma pesquisa grande, e nesse meio tempo, várias operações de modificação são executadas e afetam alguns dos resultados, é possível que meus resultados de pesquisa possam conter alguns resultados que eram de antes das operações de modificação e alguns resultados que vieram depois das operações de modificação?

    
por Carl 19.07.2016 / 18:27

1 resposta

0

Não há garantias para resultados ou semântica de bloqueio ou um nível de isolamento de transação para leituras. Há também o caso de bancos de dados distribuídos a serem considerados. Mesmo que o servidor LDAP que você está consultando tenha apenas um processo consultando e executando atualizações, e a atualização pode ser replicada como entrada durante sua consulta.

Se você estiver se perguntando como lidar com isso, poderá verificar um valor como usnChanged antes de executar uma atualização e solicitar que um usuário atualize o objeto antes de confirmar as alterações. Você também pode querer verificar se o objeto ainda existe. (usnChanged existirá mesmo se isDeleted for true). E não use nome distinto como um valor exclusivo para identificar um objeto (objectGuid no Active Directory seria o identificador de referência).

Com o Active Directory, também é possível se registrar para notificações de alteração.

Alterar notificações nos serviços de domínio do Active Directory link

Pesquisando alterações usando o controle DirSync link

Active Directory - Visão geral das técnicas de controle de alterações link

    
por 19.07.2016 / 20:42

Tags