2

Я делаю POST внутри рабочих процессов, но если у меня есть логин с администратором, сообщение создается.POST отказался - Alfresco

Но если я сделаю пост с другим логином другого пользователя, я получаю эту ошибку:

{ 
    "status" : { 
    "code" : 403, 
    "name" : "Forbidden", 
    "description" : "Server understood the request but refused to fulfill it." }, 
    "message" : "01070001 org.alfresco.repo.security.permissions.AccessDeniedException: 01070015 Access Denied. You do not have the appropriate permissions to perform this operation.",  "exception" : "org.springframework.extensions.webscripts.WebScriptException - 01070001 org.alfresco .repo.security.permissions.AccessDeniedException: 01070015 Access Denied. You do not have the appropriate permissions to perform this operation.", 
    "callstack" : [ 
     ""  ,"net.sf.acegisecurity.AccessDeniedException: Access is denied." 
     (....) 
     ,"java.lang.Thread.run(Thread.java:745)" 
     ,"org.alfresco.repo.security.permissions.AccessDeniedException: 01070015 Access Denied. You do not have the appropriate permissions to perform this operation." 

     ,"org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor .java:50)" 
     ,"org.springframework.extensions.webscripts.WebScriptException: 01070001 org.alfresco.repo.security .permissions.AccessDeniedException: 01070015 Access Denied. You do not have the appropriate permissions to perform this operation." 
     ,"org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript .java:1112)" 
    ], 
    "server" : "Community v5.0.0 (d r99759-b2) schema 8,022", "time" : "Feb 7, 2016 3:03:39 PM" } 

Можете ли вы мне помочь?

Мой пост:

var base64str = pdfbase64; 
    var binary = atob(base64str.replace(/\s/g, '')); 
    var len = binary.length; 
    var buffer = new ArrayBuffer(len); 
    var view = new Uint8Array(buffer); 
    for (var i = 0; i < len; i++) { 
     view[i] = binary.charCodeAt(i); 
    } 
    var blob = new Blob([view], { type: "application/pdf" }); 
    var fd = new FormData(); 
    if (Alfresco.util.CSRFPolicy && Alfresco.util.CSRFPolicy.isFilterEnabled()) 
    { 
     url = url + "?" + Alfresco.util.CSRFPolicy.getParameter() + "=" + encodeURIComponent(Alfresco.util.CSRFPolicy.getToken()); 
    } 
    fd.append("updatenoderef", nodeRef); 
    fd.append("filedata", blob); 
    fd.append("majorversion", "true"); 
    fd.append("overwrite", "true"); 

    var request = new XMLHttpRequest(); 
    request.open("POST", url); 
    request.send(fd); 
+0

Вам не нужно регистрироваться как администратор для этого? (https://forums.alfresco.com/forum/developer-discussions/workflow/403-access-resource-forbidden-workflow-consolejsp-03032009-2050) –

+0

Я хочу создать рабочий процесс для нескольких пользователей, и каждый пользователь делает изменение документа (и опубликование изменения). Итак, я должен сделать логин с другим пользователем. Это невозможно? – PRVS

ответ

2

Любой пользователь может обновить документ, если он/она имеет права на запись узла в Alfresco.

Работает с администратором, потому что у администратора есть права на запись на любой узел в Alfresco.

Вы не указали URL-адрес веб-сайта, который вы вызываете, но я предполагаю, что это сценарий для загрузки. Вы должны быть уверены, что у пользователя есть права на запись на этом узле. Где хранится этот узел? Это сайт Share? Если да, приглашен ли пользователь на сайт и с какой ролью? Роли на долю сайте, являются:

Managers have full rights to all site content - what they have created themselves and what other site members have created.

Collaborators have full rights to the site content that they own; they have rights to edit but not delete content created by other site members.

Contributors have full rights to the site content that they own; they cannot edit or delete content created by other site members.

Consumers have view-only rights in a site: they cannot create their own content.

Пожалуйста, обратите внимание, что, если файл был создан кем-то другим, пользователь может изменить его только с ролью «соавтора».

UPDATE: Если администратор создает документ, документ будет модифицироваться соавторами. Это поведение по умолчанию, и вам не нужно ничего делать.

Если вы хотите, чтобы и участники могли изменять документ, вы можете на уровне сайта или на уровне документа давать «разрешения соавтора» «вкладчикам». Используйте «Управление разрешениями» в документе или в родительской папке, чтобы изменить это разрешение. Это работает на сайте.

Если документ отсутствует на сайте, вы должны использовать группы и назначать разрешения соавторов для групп, которые должны иметь возможность изменять документ.

+0

Я использую простой файл в репозитории. Правильно! Это сработало! Большое спасибо ! Только один вопрос, если я создаю файл как admin, есть ли способ установить его для создания с разрешениями для пользователей? (например, соавторы) – PRVS

+0

И мне нужно, чтобы пользователи загружали документы и запускали рабочие процессы, и у меня нет разрешений. Я (администратор) должен создавать группы с пользователями и давать разрешения разрешать их файлы обновлений и запускать рабочие процессы? – PRVS

+0

Вы должны сказать немного больше о своем случае использования. Неясно, какие разрешения у этих пользователей есть, и неясно, обновляете ли вы документ или загружаете новый. Должен ли автоматический запуск рабочего процесса? Какая у вас ошибка? Еще 404? –

 Смежные вопросы

  • Нет связанных вопросов^_^