Я собираюсь интерпретировать ваши требования следующим образом: Вы хотите использовать «Быстрое разделение» Alfresco Share, доступное в Alfresco Community 4.2 & Alfresco Cloud.
Alfresco Share использует следующий внутренний API (REST/WebScript), чтобы вызвать Быструю Поделиться:
POST /api/internal/shared/share/{store_protocol}/{store_id}/{node_id}
, который возвращает сгенерированный быстрый акций идентификатор в формате JSON:
{
"sharedId": "IHR65hlGT9yOTKwqPYMbRw"
}
WebScript реализован как поддерживаемый Java WebScript. Контроллер
org.alfresco.repo.web.scripts.quickshare.ShareContentPost
, который использует следующие службы:
org.alfresco.repo.quickshare.QuickShareServiceImpl
Как вы можете видеть here эта служба генерирует UUID (идентификатор ИЛС) & устанавливает значение, что и свойство qshare: sharedId (Aspect qshare: общий):
UUID uuid = UUIDGenerator.getInstance().generateRandomBasedUUID();
sharedId = Base64.encodeBase64URLSafeString(uuid.toByteArray()); // => 22 chars (eg. q3bEKPeDQvmJYgt4hJxOjw)
Map<QName,Serializable> props = new HashMap<QName,Serializable>(2);
props.put(QuickShareModel.PROP_QSHARE_SHAREDID, sharedId);
props.put(QuickShareModel.PROP_QSHARE_SHAREDBY, AuthenticationUtil.getRunAsUser());
nodeService.addAspect(nodeRef, QuickShareModel.ASPECT_QSHARE, props);
Вы должны быть в состоянии сделать это с помощью КМИС, но эта служба также устанавливает атрибут через AttributeService (хранит всю долю г-идентификаторы на арендатора):
attributeService.setAttribute(tenantNodeRef, ATTR_KEY_SHAREDIDS_ROOT, sharedId)
Я не уверен, для чего это используется &, если это должно быть для вашего требования.
Что вы подразумеваете в деталях? Вам нравится использовать функцию общего доступа Alfresco Share или вы хотите изменить права доступа к узлу? – alfrescian
Посмотрите, когда я обмениваюсь контентом и просматриваю общий контент в общедоступной функции общего доступа, любой может видеть этот контент без каких-либо разрешений, поэтому мне нужно управлять общим ресурсом в своем веб-приложении с помощью share и unshare и получать сгенерированный общий контент id, то отобразите его в 'http: // localhost: 8080/share/s /" theSharedContentIdAutoGenerated "' – user2758757
Да, все еще довольно расплывчато. Фактическая потребность в общественном обмене заключается в том, что каждый может получить к ней доступ! Вы можете просто использовать методы ACL OpenCMIS для установки необходимых вам разрешений. И тогда пользователи могут получить доступ к контенту, к которому у них есть разрешение. –