Siga as etapas listadas aqui para resolver o problema se uma
EntityNotFoundException ocorrer quando você estiver tentando obter os membros atuais de
um grupo em um repositório de banco de dados com configuração de repositório cruzado.
Problema
O gerenciador de membro virtual não retornará os
resultados dos membros atuais para um grupo em um repositório de banco de dados, se um
usuário que foi membro desse grupo tiver sido excluído anteriormente de um repositório
LDAP. Em vez disso, uma EntityNotFoundException é emitida.
Esse problema ocorre
porque a associação ao grupo de membros não existentes não é excluída do repositório de
banco de dados quando seus membros em um repositório LDAP são excluídos.
Solução
Siga o procedimento fornecido a seguir para definir
a propriedade customizada repositoriesForMemberDeletion no repositório de banco de dados
onde o grupo existe e especificar os repositórios LDAP dos membros não existentes cuja
associação ao grupo você deseja ser excluído.
Procedimento
- Defina uma propriedade customizada, repositoriesForMemberDeletion, para o repositório
de banco de dados no qual o grupo existe. Use o comando wsadmin
setIdMgrCustomProperty para definir a propriedade customizada e
configurar seu valor, conforme mostrado no exemplo a seguir.
$AdminTask setIdMgrCustomProperty { -id "DBRepoID" -name "repositoriesForMemberDeletion" -value "TDS;AD" }
- Parâmetros e seus valores
- -id
- Use esse parâmetro para especificar o repositório de banco de dados no qual o grupo
existe.
- -name
- Esse parâmetro especifica o nome da propriedade que é usada ao excluir membros não
existentes da associação ao grupo. Você deve especificar o nome da propriedade como
repositoriesForMemberDeletion.
O nome da propriedade não faz distinção entre maiúsculas e
minúsculas, mas o valor desse parâmetro não deve ser alterado.
- -value
- Use esse parâmetro para especificar os IDs de um ou mais repositórios LDAP que contêm
os membros do grupo cuja associação você deseja excluir do grupo no repositório de banco
de dados. Use ponto-e-vírgula (;) como delimitador para especificar vários IDs de
repositório. Use um asterisco (“*”) para excluir todas as associações ao grupo de todos os
membros não existentes.
- Reinicie o servidor.
Se você procurar os membros do grupo agora, os membros
restantes do grupo serão exibidos, e a exceção EntityNotFoundException não ocorrerá.