无法获取数据库存储库中某个组的当前成员

如果在尝试获取数据库存储库(具有跨存储库配置)中某个组的当前成员时,出现 EntityNotFoundException,请遵循此处列出的步骤进行故障诊断。

问题

如果先前从 LDAP 存储库中删除了属于数据库存储库中组成员的用户,Virtual member manager 将不会返回此组的当前成员结果。相反,抛出了 EntityNotFoundException。

发生此问题是因为在从 LDAP 存储库中删除数据库存储库的成员时,不会从该数据库存储库中删除不存在成员的组成员资格。

解决方案

遵循下面提供的过程定义组所在数据库存储库中的定制属性 repositoriesForMemberDeletion ,并指定要删除其组成员资格的不存在成员的 LDAP 存储库。

过程

  1. 定义组所在的数据库存储库的定制属性 repositoriesForMemberDeletion。使用 setIdMgrCustomProperty wsadmin 命令定义定制属性并设置其值,如以下示例中所示。
    $AdminTask setIdMgrCustomProperty { -id "DBRepoID" -name "repositoriesForMemberDeletion" -value "TDS;AD" }
    参数及其值
    -id
    使用此参数定义组所在的数据库存储库。
    -name
    此参数定义在从组成员资格中删除不存在的组时使用的属性的名称。您必须将属性名称指定为 repositoriesForMemberDeletion。属性的名称不区分大小写,但不应更改此参数的值。
    -value
    使用此参数定义一个或多个 LDAP 存储库的 ID,该存储库包含要从数据库存储库的组中删除其成员资格的组成员。使用分号 (;) 作为定界符来指定多个存储库 ID。使用星号(“*”)删除所有不存在成员的所有组成员资格。
  2. 重新启动服务器。
如果现在搜索组成员,将会显示其余的组成员,并且不会出现 EntityNotFoundException。


使用条款 | 反馈