如何防止站点 A 成员看到其他站点成员露天社区

how to prevent site A member from seeing other site member alfresco community

我正在使用 Alfresco 社区 5.0.d。

我正在寻找一种方法来防止站点 A 成员搜索站点 B 成员,反之亦然,然后是 2 个不同站点的其他详细信息。

例如,siteA 成员,他们应该能够查看和 select allSites-workflows & siteA-workflows 以及该站点成员。 siteB 成员只能查看和 select allSites-workflows & siteB-workflows 以及该站点成员。

提前致谢!

我们在我们的组织中有类似的定制。我们限制用户只能搜索工作流受让人字段中的当前成员。为实现这一点,我们传递了额外的 siteid 并且搜索仅查找来自给定站点的成员。 以下是 Adhoc 工作流的人员选择器示例。

http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&searchTerm=adm&size=1000&siteId=mysite

我们从

扩展了 searchUsers 方法
org.alfresco.repo.security.authority.script.ScriptAuthorityService

public ScriptUser[] searchUsers(String nameFilter, ScriptPagingDetails paging, String sortBy, String siteName)
   {......
Map<String, String> siteGroups = this.serviceRegistry.getSiteService().listMembers(siteName,nameFilter,null,MAX_RESULTS,true);      
  Set<String> allAuthorities = siteGroups.keySet();
  List<String> authorities = new ArrayList<String>();
  for(String authority : allAuthorities)
  {
     if (!authority.startsWith("GROUP_"))
     {
        authorities.add(authority);
     }
  }
.......
       }

如果您需要更多帮助,请告诉我。

修复了

发布的问题
  1. Peoplener 更精细的组件:覆盖 people-finder.js(路径:/Applications/alfresco-5.0.d/tomcat/webapps/share/components/people-finder/people-finder.js)
  2. 实时搜索:从 live-search 中删除了人员建议。

修改live-search部分,参考

谢谢!